{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3.1 线性回归\n",
    "\n",
    "线性回归输出是一个连续值，因此适用于回归问题。回归问题在实际中很常见，如预测房屋价格、气温、销售额等连续值的问题。与回归问题不同，分类问题中模型的最终输出是一个离散值。\n",
    "\n",
    "## 模型\n",
    "设房屋的面积为 $x_1$，房龄为 $x_2$，售出价格为 $y$。我们需要建立基于输入 $x_1$ 和 $x_2$ 来计算输出 $y$ 的表达式，也就是模型（model）。顾名思义，线性回归假设输出与各个输入之间是线性关系：\n",
    "$$\n",
    "\\hat{y} = x_1 w_1 + x_2 w_2 + b\n",
    "$$\n",
    "其中 $w_1$ 和 $w_2$ 是权重（weight），$b$ 是偏差（bias），且均为标量。它们是线性回归模型的参数（parameter）。模型输出 $\\hat{y}$ 是线性回归对真实价格 $y$ 的预测或估计。我们通常允许它们之间有一定误差。\n",
    "\n",
    "## 数据\n",
    "train data set\n",
    "\n",
    "X_train = [train_num, feature_num]\n",
    "\n",
    "test data set\n",
    "\n",
    "X_test = [test_num, feature_num]\n",
    "\n",
    "## 损失函数\n",
    "\n",
    "在模型训练中，我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差，且数值越小表示误差越小。一个常用的选择是平方函数。它在评估索引为 $i$ 的样本误差的表达式为\n",
    "\n",
    "$$\\ell^{(i)}(w_1, w_2, b) = \\frac{1}{2} \\left(\\hat{y}^{(i)} - y^{(i)}\\right)^2$$\n",
    "\n",
    "其中常数 $\\frac 1 2$ 使对平方项求导后的常数系数为1，这样在形式上稍微简单一些。显然，误差越小表示预测价格与真实价格越相近，且当二者相等时误差为0。给定训练数据集，这个误差只与模型参数相关，因此我们将它记为以模型参数为参数的函数。在机器学习里，将衡量误差的函数称为损失函数（loss function）。这里使用的平方误差函数也称为平方损失（square loss）。\n",
    "\n",
    "通常，我们用训练数据集中所有样本误差的平均来衡量模型预测的质量，即\n",
    "$$\n",
    "\\ell(w_1, w_2, b) =\\frac{1}{n} \\sum_{i=1}^n \\ell^{(i)}(w_1, w_2, b) =\\frac{1}{n} \\sum_{i=1}^n \\frac{1}{2}\\left(x_1^{(i)} w_1 + x_2^{(i)} w_2 + b - y^{(i)}\\right)^2\n",
    "$$\n",
    "在模型训练中，我们希望找出一组模型参数，记为 $w_1^*, w_2^*, b^*$，来使训练样本平均损失最小：\n",
    "$$\n",
    "w_1^*, w_2^*, b^* = \\underset{w_1, w_2, b}{\\arg\\min} \\ell(w_1, w_2, b)\n",
    "$$\n",
    "\n",
    "##  优化算法\n",
    "\n",
    "在求数值解的优化算法中，小批量随机梯度下降（mini-batch stochastic gradient descent）在深度学习中被广泛使用。它的算法很简单：先选取一组模型参数的初始值，如随机选取；接下来对参数进行多次迭代，使每次迭代都可能降低损失函数的值。在每次迭代中，先随机均匀采样一个由固定数目训练数据样本所组成的小批量（mini-batch）$\\mathcal{B}$，然后求小批量中数据样本的平均损失有关模型参数的导数（梯度），最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。\n",
    "\n",
    "在训练本节讨论的线性回归模型的过程中，模型的每个参数将作如下迭代：\n",
    "$$\n",
    "\\begin{aligned}\n",
    "w_1 &\\leftarrow w_1 -   \\frac{\\eta}{|\\mathcal{B}|} \\sum_{i \\in \\mathcal{B}} \\frac{ \\partial \\ell^{(i)}(w_1, w_2, b)  }{\\partial w_1}\\\\\n",
    "w_2 &\\leftarrow w_2 -   \\frac{\\eta}{|\\mathcal{B}|} \\sum_{i \\in \\mathcal{B}} \\frac{ \\partial \\ell^{(i)}(w_1, w_2, b)  }{\\partial w_2}\\\\\n",
    "b &\\leftarrow b -   \\frac{\\eta}{|\\mathcal{B}|} \\sum_{i \\in \\mathcal{B}} \\frac{ \\partial \\ell^{(i)}(w_1, w_2, b)  }{\\partial b}\n",
    "\\end{aligned}\n",
    "$$\n",
    "在上式中，$|\\mathcal{B}|$ 代表每个小批量中的样本个数（批量大小，batch size），$\\eta$ 称作学习率（learning rate）并取正数。需要强调的是，这里的批量大小和学习率的值是人为设定的，并不是通过模型训练学出的，因此叫作超参数（hyperparameter）。我们通常所说的“调参”指的正是调节超参数，例如通过反复试错来找到超参数合适的值。在少数情况下，超参数也可以通过模型训练学出。本书对此类情况不做讨论。\n",
    "\n",
    "\n",
    "找到loss 对 某个参数 w\\b 的梯度，然后以一定的步长 移动，就构成了梯度下降算法BP\n",
    "\n",
    "如果一次输入会有多个样本，构成了迷你batch，然后对mini-batch 的参数梯度求平均，构成当前batch的梯度下降，所以这个算法和batch的大小有关。\n",
    "batch_size是一个超参数，hypter-parameter。\n",
    "\n",
    "### 神经网络图\n",
    "\n",
    "在深度学习中，我们可以使用神经网络图直观地表现模型结构。为了更清晰地展示线性回归作为神经网络的结构，图3.1使用神经网络图表示本节中介绍的线性回归模型。神经网络图隐去了模型参数权重和偏差。\n",
    "\n",
    "input (x1, x2) -> output\n",
    "\n",
    "在图3.1所示的神经网络中，输入分别为 $x_1$ 和 $x_2$，因此输入层的输入个数为2。输入个数也叫特征数或特征向量维度。图3.1中网络的输出为 $o$，输出层的输出个数为1。需要注意的是，我们直接将图3.1中神经网络的输出 $o$ 作为线性回归的输出，即 $\\hat{y} = o$。由于输入层并不涉及计算，按照惯例，图3.1所示的神经网络的层数为1。所以，线性回归是一个单层神经网络。输出层中负责计算 $o$ 的单元又叫神经元。在线性回归中，$o$ 的计算依赖于 $x_1$ 和 $x_2$。也就是说，输出层中的神经元和输入层中各个输入完全连接。因此，这里的输出层又叫全连接层（fully-connected layer）或稠密层（dense layer）。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 矢量计算表达式\n",
    "\n",
    "在模型训练或预测时，我们常常会同时处理多个数据样本并用到矢量计算。在介绍线性回归的矢量计算表达式之前，让我们先考虑对两个向量相加的两种方法。a\n",
    "\n",
    "下面先定义两个1000维的向量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.10970640182495117\n"
     ]
    }
   ],
   "source": [
    "import torch as t\n",
    "from time import time\n",
    "import sys\n",
    "\n",
    "sys.path.append(\"..\") \n",
    "\n",
    "a = t.ones(10000)\n",
    "b = t.ones(10000)\n",
    "start = time()\n",
    "for index, one in enumerate(a):\n",
    "    one += b[index]\n",
    "print(time() - start)\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(2.)\n",
      "0.0\n",
      "tensor(3.)\n"
     ]
    }
   ],
   "source": [
    "print(a[0])\n",
    "start = time()\n",
    "a+=b\n",
    "print(time() - start)\n",
    "print(a[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "结果很明显，后者比前者更省时。因此，我们应该尽可能采用矢量计算，以提升计算效率。\n",
    "让我们再次回到本节的房价预测问题。如果我们对训练数据集里的3个房屋样本（索引分别为1、2和3）逐一预测价格，将得到\n",
    "$$\n",
    "\\begin{aligned}\n",
    "\\hat{y}^{(1)} &= x_1^{(1)} w_1 + x_2^{(1)} w_2 + b,\\\\\n",
    "\\hat{y}^{(2)} &= x_1^{(2)} w_1 + x_2^{(2)} w_2 + b,\\\\\n",
    "\\hat{y}^{(3)} &= x_1^{(3)} w_1 + x_2^{(3)} w_2 + b.\n",
    "\\end{aligned}\n",
    "$$\n",
    "现在，我们将上面3个等式转化成矢量计算。设\n",
    "$$\n",
    "\\boldsymbol{\\hat{y}} =\n",
    "\\begin{bmatrix}\n",
    "    \\hat{y}^{(1)} \\\\\n",
    "    \\hat{y}^{(2)} \\\\\n",
    "    \\hat{y}^{(3)}\n",
    "\\end{bmatrix},\\quad\n",
    "\\boldsymbol{X} =\n",
    "\\begin{bmatrix}\n",
    "    x_1^{(1)} & x_2^{(1)} \\\\\n",
    "    x_1^{(2)} & x_2^{(2)} \\\\\n",
    "    x_1^{(3)} & x_2^{(3)}\n",
    "\\end{bmatrix},\\quad\n",
    "\\boldsymbol{w} =\n",
    "\\begin{bmatrix}\n",
    "    w_1 \\\\\n",
    "    w_2\n",
    "\\end{bmatrix}\n",
    "$$\n",
    "对3个房屋样本预测价格的矢量计算表达式为$\\boldsymbol{\\hat{y}} = \\boldsymbol{X} \\boldsymbol{w} + b,$ 其中的加法运算使用了广播机制"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([[11., 11., 11.],\n",
      "        [11., 11., 11.],\n",
      "        [11., 11., 11.],\n",
      "        [11., 11., 11.],\n",
      "        [11., 11., 11.]])\n"
     ]
    }
   ],
   "source": [
    "a = t.ones(5,3)\n",
    "b = 10\n",
    "a+=b\n",
    "print(a)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "广义上讲，当数据样本数为 $n$，特征数为 $d$ 时，线性回归的矢量计算表达式为\n",
    "$$\n",
    "\\boldsymbol{\\hat{y}} = \\boldsymbol{X} \\boldsymbol{w} + b\n",
    "$$\n",
    "其中模型输出 $\\boldsymbol{\\hat{y}} \\in \\mathbb{R}^{n \\times 1}$ 批量数据样本特征 $\\boldsymbol{X} \\in \\mathbb{R}^{n \\times d}$，权重 $\\boldsymbol{w} \\in \\mathbb{R}^{d \\times 1}$， 偏差 $b \\in \\mathbb{R}$。相应地，批量数据样本标签 $\\boldsymbol{y} \\in \\mathbb{R}^{n \\times 1}$。设模型参数 $\\boldsymbol{\\theta} = [w_1, w_2, b]^\\top$，我们可以重写损失函数为\n",
    "$$\n",
    "\\ell(\\boldsymbol{\\theta})=\\frac{1}{2n}(\\boldsymbol{\\hat{y}}-\\boldsymbol{y})^\\top(\\boldsymbol{\\hat{y}}-\\boldsymbol{y})\n",
    "$$\n",
    "小批量随机梯度下降的迭代步骤将相应地改写为\n",
    "$$\n",
    "\\boldsymbol{\\theta} \\leftarrow \\boldsymbol{\\theta} -   \\frac{\\eta}{|\\mathcal{B}|} \\sum_{i \\in \\mathcal{B}}   \\nabla_{\\boldsymbol{\\theta}} \\ell^{(i)}(\\boldsymbol{\\theta}),\n",
    "$$\n",
    "其中梯度是损失有关3个为标量的模型参数的偏导数组成的向量：\n",
    "$$\n",
    "\\nabla_{\\boldsymbol{\\theta}} \\ell^{(i)}(\\boldsymbol{\\theta})=\n",
    "\\begin{bmatrix}\n",
    "    \\frac{ \\partial \\ell^{(i)}(w_1, w_2, b)  }{\\partial w_1} \\\\\n",
    "    \\frac{ \\partial \\ell^{(i)}(w_1, w_2, b)  }{\\partial w_2} \\\\\n",
    "    \\frac{ \\partial \\ell^{(i)}(w_1, w_2, b)  }{\\partial b}\n",
    "\\end{bmatrix} =\n",
    "\\begin{bmatrix}\n",
    "    x_1^{(i)} (x_1^{(i)} w_1 + x_2^{(i)} w_2 + b - y^{(i)}) \\\\\n",
    "    x_2^{(i)} (x_1^{(i)} w_1 + x_2^{(i)} w_2 + b - y^{(i)}) \\\\\n",
    "    x_1^{(i)} w_1 + x_2^{(i)} w_2 + b - y^{(i)}\n",
    "\\end{bmatrix}=\n",
    "\\begin{bmatrix}\n",
    "    x_1^{(i)} \\\\\n",
    "    x_2^{(i)} \\\\\n",
    "    1\n",
    "\\end{bmatrix}\n",
    "(\\hat{y}^{(i)} - y^{(i)})\n",
    "$$\n",
    "\n",
    "## 小结\n",
    "\n",
    "- 和大多数深度学习模型一样，对于线性回归这样一种单层神经网络，它的基本要素包括模型、训练数据、损失函数和优化算法。\n",
    "- 既可以用神经网络图表示线性回归，又可以用矢量计算表示该模型。\n",
    "- 应该尽可能采用矢量计算，以提升计算效率。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 线性回归的从零开始实现\n",
    "\n",
    "在了解了线性回归的背景知识之后，现在我们可以动手实现它了。尽管强大的深度学习框架可以减少大量重复性工作，但若过于依赖它提供的便利，会导致我们很难深入理解深度学习是如何工作的。因此，本节将介绍如何只利用`Tensor`和`autograd`来实现一个线性回归的训练。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import torch\n",
    "import numpy as np\n",
    "import random\n",
    "#计算\n",
    "from IPython import display\n",
    "from matplotlib import pyplot as plt\n",
    "#画图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 生成数据集\n",
    "\n",
    "我们构造一个简单的人工训练数据集，它可以使我们能够直观比较学到的参数和真实的模型参数的区别。设训练数据集样本数为1000，输入个数（特征数）为2。给定随机生成的批量样本特征 $\\boldsymbol{X} \\in \\mathbb{R}^{1000 \\times 2}$，我们使用线性回归模型真实权重 $\\boldsymbol{w} = [2, -3.4]^\\top$ 和偏差 $b = 4.2$，以及一个随机噪声项 $\\epsilon$ 来生成标签"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1000, 2])\n",
      "torch.Size([2, 1])\n",
      "torch.Size([1000, 1]) torch.Size([1000, 1])\n",
      "torch.Size([1000])\n"
     ]
    }
   ],
   "source": [
    "features_num = 2\n",
    "num_samples = 1000\n",
    "true_w = [2.879, -3.567]\n",
    "true_b = 6.88\n",
    "\n",
    "features = torch.from_numpy( np.random.normal(0,1,(num_samples,features_num)))\n",
    "#create [1000, 2] features\n",
    "print(features.shape)\n",
    "print(torch.tensor(true_w, dtype = torch.double).view(2,1).shape)\n",
    "\n",
    "#矩阵乘法形式\n",
    "labels = torch.mm(features,torch.tensor(true_w, dtype = torch.double).view(2,1))+true_b\n",
    "\n",
    "labels_ = true_w[0]*features[:,0] + true_w[1]*features[:,1] + true_b\n",
    "\n",
    "print(labels.shape, labels.shape)\n",
    "labels.equal(labels.view(1000,1))\n",
    "labels = labels.view(1000)\n",
    "\n",
    "labels += torch.from_numpy(np.random.normal(0,0.01,labels.size()))\n",
    "print(labels.size())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([[5, 1],\n",
      "        [2, 3]]) \n",
      " tensor([[1],\n",
      "        [2]])\n",
      "tensor([[5, 1],\n",
      "        [4, 6]])\n",
      "tensor([[7],\n",
      "        [8]])\n"
     ]
    }
   ],
   "source": [
    "x = torch.tensor((5,1,2,3))\n",
    "y = torch.tensor((1,2))\n",
    "print(x.view(2,2),'\\n',y.view(2,-1))\n",
    "print(x.view(2,2)*y.view(2,-1))\n",
    "print(torch.mm(x.view(2,2), y.view(2,-1)))\n",
    "# * 元素乘法  torch.mm 矩阵乘法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([ 0.2724, -0.7922], dtype=torch.float64) tensor(10.4975, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "print(features[0], labels[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "注意，`features`的每一行是一个长度为2的向量，而`labels`的每一行是一个长度为1的向量（标量）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Created with matplotlib (http://matplotlib.org/) -->\r\n",
       "<svg height=\"170.478125pt\" version=\"1.1\" viewBox=\"0 0 232.925 170.478125\" width=\"232.925pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       " <defs>\r\n",
       "  <style type=\"text/css\">\r\n",
       "*{stroke-linecap:butt;stroke-linejoin:round;}\r\n",
       "  </style>\r\n",
       " </defs>\r\n",
       " <g id=\"figure_1\">\r\n",
       "  <g id=\"patch_1\">\r\n",
       "   <path d=\"M 0 170.478125 \r\n",
       "L 232.925 170.478125 \r\n",
       "L 232.925 0 \r\n",
       "L 0 0 \r\n",
       "z\r\n",
       "\" style=\"fill:none;\"/>\r\n",
       "  </g>\r\n",
       "  <g id=\"axes_1\">\r\n",
       "   <g id=\"patch_2\">\r\n",
       "    <path d=\"M 26.925 146.6 \r\n",
       "L 222.225 146.6 \r\n",
       "L 222.225 10.7 \r\n",
       "L 26.925 10.7 \r\n",
       "z\r\n",
       "\" style=\"fill:#ffffff;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"PathCollection_1\">\r\n",
       "    <defs>\r\n",
       "     <path d=\"M 0 0.5 \r\n",
       "C 0.132602 0.5 0.25979 0.447317 0.353553 0.353553 \r\n",
       "C 0.447317 0.25979 0.5 0.132602 0.5 0 \r\n",
       "C 0.5 -0.132602 0.447317 -0.25979 0.353553 -0.353553 \r\n",
       "C 0.25979 -0.447317 0.132602 -0.5 0 -0.5 \r\n",
       "C -0.132602 -0.5 -0.25979 -0.447317 -0.353553 -0.353553 \r\n",
       "C -0.447317 -0.25979 -0.5 -0.132602 -0.5 0 \r\n",
       "C -0.5 0.132602 -0.447317 0.25979 -0.353553 0.353553 \r\n",
       "C -0.25979 0.447317 -0.132602 0.5 0 0.5 \r\n",
       "z\r\n",
       "\" id=\"m223068d224\" style=\"stroke:#1f77b4;\"/>\r\n",
       "    </defs>\r\n",
       "    <g clip-path=\"url(#pb6c0f0f2cd)\">\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.964229\" xlink:href=\"#m223068d224\" y=\"59.431429\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.930672\" xlink:href=\"#m223068d224\" y=\"88.387402\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.405399\" xlink:href=\"#m223068d224\" y=\"58.892992\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.025204\" xlink:href=\"#m223068d224\" y=\"69.251095\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.30162\" xlink:href=\"#m223068d224\" y=\"64.63199\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"86.728342\" xlink:href=\"#m223068d224\" y=\"40.534041\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"110.189565\" xlink:href=\"#m223068d224\" y=\"76.090051\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.023399\" xlink:href=\"#m223068d224\" y=\"65.726312\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.873169\" xlink:href=\"#m223068d224\" y=\"93.603878\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.467878\" xlink:href=\"#m223068d224\" y=\"82.965098\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"72.643606\" xlink:href=\"#m223068d224\" y=\"49.67872\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.748688\" xlink:href=\"#m223068d224\" y=\"78.413757\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.278685\" xlink:href=\"#m223068d224\" y=\"56.191928\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.132402\" xlink:href=\"#m223068d224\" y=\"63.832368\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.248336\" xlink:href=\"#m223068d224\" y=\"55.47266\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.532641\" xlink:href=\"#m223068d224\" y=\"65.51527\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.325628\" xlink:href=\"#m223068d224\" y=\"72.277045\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.589084\" xlink:href=\"#m223068d224\" y=\"77.457867\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.537669\" xlink:href=\"#m223068d224\" y=\"44.612053\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.436277\" xlink:href=\"#m223068d224\" y=\"82.981555\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"165.597886\" xlink:href=\"#m223068d224\" y=\"111.548137\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.349943\" xlink:href=\"#m223068d224\" y=\"82.984575\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.857279\" xlink:href=\"#m223068d224\" y=\"73.070013\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.767719\" xlink:href=\"#m223068d224\" y=\"84.516938\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"199.367876\" xlink:href=\"#m223068d224\" y=\"115.920306\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.106987\" xlink:href=\"#m223068d224\" y=\"89.525102\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.876836\" xlink:href=\"#m223068d224\" y=\"65.770233\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"82.240492\" xlink:href=\"#m223068d224\" y=\"40.266703\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.781906\" xlink:href=\"#m223068d224\" y=\"70.637635\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"63.397698\" xlink:href=\"#m223068d224\" y=\"20.080885\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.654054\" xlink:href=\"#m223068d224\" y=\"134.250484\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.672196\" xlink:href=\"#m223068d224\" y=\"65.467097\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.719677\" xlink:href=\"#m223068d224\" y=\"83.831586\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.077615\" xlink:href=\"#m223068d224\" y=\"73.1148\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.817697\" xlink:href=\"#m223068d224\" y=\"67.946756\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.45142\" xlink:href=\"#m223068d224\" y=\"69.068828\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"177.205005\" xlink:href=\"#m223068d224\" y=\"98.480962\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.984629\" xlink:href=\"#m223068d224\" y=\"71.038151\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.692265\" xlink:href=\"#m223068d224\" y=\"71.54095\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.96749\" xlink:href=\"#m223068d224\" y=\"77.542222\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"77.633367\" xlink:href=\"#m223068d224\" y=\"68.381372\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.487276\" xlink:href=\"#m223068d224\" y=\"70.501828\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.507442\" xlink:href=\"#m223068d224\" y=\"93.128059\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"173.75615\" xlink:href=\"#m223068d224\" y=\"86.970416\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.12703\" xlink:href=\"#m223068d224\" y=\"79.804764\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.542398\" xlink:href=\"#m223068d224\" y=\"67.704328\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.425923\" xlink:href=\"#m223068d224\" y=\"38.630117\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.783003\" xlink:href=\"#m223068d224\" y=\"69.22944\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"158.703566\" xlink:href=\"#m223068d224\" y=\"93.061198\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.246072\" xlink:href=\"#m223068d224\" y=\"75.179997\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"102.501878\" xlink:href=\"#m223068d224\" y=\"73.75491\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.559643\" xlink:href=\"#m223068d224\" y=\"93.229444\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.586458\" xlink:href=\"#m223068d224\" y=\"74.278345\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.030754\" xlink:href=\"#m223068d224\" y=\"80.281426\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"94.513768\" xlink:href=\"#m223068d224\" y=\"52.774989\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.439051\" xlink:href=\"#m223068d224\" y=\"90.07047\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"165.008676\" xlink:href=\"#m223068d224\" y=\"99.981346\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.828269\" xlink:href=\"#m223068d224\" y=\"48.599234\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"89.6866\" xlink:href=\"#m223068d224\" y=\"48.67155\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.660452\" xlink:href=\"#m223068d224\" y=\"64.062017\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"87.483917\" xlink:href=\"#m223068d224\" y=\"48.317522\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.312932\" xlink:href=\"#m223068d224\" y=\"95.386194\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.396032\" xlink:href=\"#m223068d224\" y=\"60.608954\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.372414\" xlink:href=\"#m223068d224\" y=\"106.771345\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.064152\" xlink:href=\"#m223068d224\" y=\"85.010974\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"172.717492\" xlink:href=\"#m223068d224\" y=\"94.460744\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.733914\" xlink:href=\"#m223068d224\" y=\"102.999701\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"106.67981\" xlink:href=\"#m223068d224\" y=\"52.035878\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.357924\" xlink:href=\"#m223068d224\" y=\"65.601251\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"173.79199\" xlink:href=\"#m223068d224\" y=\"90.266384\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.214391\" xlink:href=\"#m223068d224\" y=\"45.739218\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.756619\" xlink:href=\"#m223068d224\" y=\"69.272137\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.215027\" xlink:href=\"#m223068d224\" y=\"100.206524\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"195.917784\" xlink:href=\"#m223068d224\" y=\"107.857783\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"154.501529\" xlink:href=\"#m223068d224\" y=\"104.351355\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.716614\" xlink:href=\"#m223068d224\" y=\"65.919125\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.259164\" xlink:href=\"#m223068d224\" y=\"78.870346\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"105.468018\" xlink:href=\"#m223068d224\" y=\"49.472183\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.743094\" xlink:href=\"#m223068d224\" y=\"54.439911\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.447436\" xlink:href=\"#m223068d224\" y=\"95.124089\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"181.59218\" xlink:href=\"#m223068d224\" y=\"115.572768\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.664519\" xlink:href=\"#m223068d224\" y=\"61.802186\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.416438\" xlink:href=\"#m223068d224\" y=\"103.940211\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.076822\" xlink:href=\"#m223068d224\" y=\"96.113658\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"79.065485\" xlink:href=\"#m223068d224\" y=\"81.17002\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.435515\" xlink:href=\"#m223068d224\" y=\"56.083595\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.672063\" xlink:href=\"#m223068d224\" y=\"58.565078\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.307282\" xlink:href=\"#m223068d224\" y=\"90.087487\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.429089\" xlink:href=\"#m223068d224\" y=\"94.663578\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.214637\" xlink:href=\"#m223068d224\" y=\"76.016186\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.065229\" xlink:href=\"#m223068d224\" y=\"70.854733\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.595267\" xlink:href=\"#m223068d224\" y=\"99.347004\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"80.200674\" xlink:href=\"#m223068d224\" y=\"38.582722\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.667857\" xlink:href=\"#m223068d224\" y=\"73.671967\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.323294\" xlink:href=\"#m223068d224\" y=\"88.786382\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.75797\" xlink:href=\"#m223068d224\" y=\"79.415522\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"190.329265\" xlink:href=\"#m223068d224\" y=\"89.58012\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.284794\" xlink:href=\"#m223068d224\" y=\"60.80824\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.315495\" xlink:href=\"#m223068d224\" y=\"69.566816\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.475103\" xlink:href=\"#m223068d224\" y=\"35.068818\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.331951\" xlink:href=\"#m223068d224\" y=\"83.932721\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.498016\" xlink:href=\"#m223068d224\" y=\"67.577439\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.334527\" xlink:href=\"#m223068d224\" y=\"86.90111\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.637588\" xlink:href=\"#m223068d224\" y=\"75.051218\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"105.39068\" xlink:href=\"#m223068d224\" y=\"58.672435\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.911865\" xlink:href=\"#m223068d224\" y=\"61.659072\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.518039\" xlink:href=\"#m223068d224\" y=\"76.207361\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"167.106117\" xlink:href=\"#m223068d224\" y=\"117.16478\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.770821\" xlink:href=\"#m223068d224\" y=\"67.412617\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.478293\" xlink:href=\"#m223068d224\" y=\"69.46102\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.660814\" xlink:href=\"#m223068d224\" y=\"58.247468\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"98.397398\" xlink:href=\"#m223068d224\" y=\"67.649319\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.657756\" xlink:href=\"#m223068d224\" y=\"82.927347\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.51983\" xlink:href=\"#m223068d224\" y=\"69.819951\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.10697\" xlink:href=\"#m223068d224\" y=\"54.084663\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.624309\" xlink:href=\"#m223068d224\" y=\"66.089141\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.987695\" xlink:href=\"#m223068d224\" y=\"61.969766\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.852947\" xlink:href=\"#m223068d224\" y=\"66.598998\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"78.65541\" xlink:href=\"#m223068d224\" y=\"37.890791\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"170.151033\" xlink:href=\"#m223068d224\" y=\"103.719179\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"104.619729\" xlink:href=\"#m223068d224\" y=\"52.168831\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.328127\" xlink:href=\"#m223068d224\" y=\"73.870983\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.062068\" xlink:href=\"#m223068d224\" y=\"101.865996\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.779292\" xlink:href=\"#m223068d224\" y=\"89.80835\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.042661\" xlink:href=\"#m223068d224\" y=\"75.15873\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.387399\" xlink:href=\"#m223068d224\" y=\"65.885352\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"72.175437\" xlink:href=\"#m223068d224\" y=\"40.190165\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"156.843378\" xlink:href=\"#m223068d224\" y=\"87.517627\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.029847\" xlink:href=\"#m223068d224\" y=\"95.464027\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.273546\" xlink:href=\"#m223068d224\" y=\"35.100591\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"192.405909\" xlink:href=\"#m223068d224\" y=\"97.986448\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.411079\" xlink:href=\"#m223068d224\" y=\"97.173538\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"147.403907\" xlink:href=\"#m223068d224\" y=\"75.175639\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.274284\" xlink:href=\"#m223068d224\" y=\"120.817529\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.218898\" xlink:href=\"#m223068d224\" y=\"77.736135\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.962496\" xlink:href=\"#m223068d224\" y=\"87.978442\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"93.80232\" xlink:href=\"#m223068d224\" y=\"55.767368\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"172.571636\" xlink:href=\"#m223068d224\" y=\"108.968835\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.374785\" xlink:href=\"#m223068d224\" y=\"69.063762\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"69.035852\" xlink:href=\"#m223068d224\" y=\"50.493798\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.494682\" xlink:href=\"#m223068d224\" y=\"44.036207\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.141803\" xlink:href=\"#m223068d224\" y=\"104.228182\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.327471\" xlink:href=\"#m223068d224\" y=\"85.265548\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.921145\" xlink:href=\"#m223068d224\" y=\"67.954001\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"98.180091\" xlink:href=\"#m223068d224\" y=\"65.18113\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.420051\" xlink:href=\"#m223068d224\" y=\"97.135973\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"181.90136\" xlink:href=\"#m223068d224\" y=\"114.237249\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.004505\" xlink:href=\"#m223068d224\" y=\"64.8147\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.281323\" xlink:href=\"#m223068d224\" y=\"71.10955\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.54079\" xlink:href=\"#m223068d224\" y=\"77.468271\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.338241\" xlink:href=\"#m223068d224\" y=\"66.691505\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.516131\" xlink:href=\"#m223068d224\" y=\"72.054908\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.61825\" xlink:href=\"#m223068d224\" y=\"91.090648\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.42545\" xlink:href=\"#m223068d224\" y=\"88.41416\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.414607\" xlink:href=\"#m223068d224\" y=\"113.359822\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"164.850879\" xlink:href=\"#m223068d224\" y=\"110.006303\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"163.984319\" xlink:href=\"#m223068d224\" y=\"105.765491\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"69.333137\" xlink:href=\"#m223068d224\" y=\"16.893492\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"180.635802\" xlink:href=\"#m223068d224\" y=\"122.960136\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"213.280268\" xlink:href=\"#m223068d224\" y=\"140.406508\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.012029\" xlink:href=\"#m223068d224\" y=\"88.385074\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.751966\" xlink:href=\"#m223068d224\" y=\"67.229404\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.445194\" xlink:href=\"#m223068d224\" y=\"80.41136\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"167.764425\" xlink:href=\"#m223068d224\" y=\"102.422588\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.34661\" xlink:href=\"#m223068d224\" y=\"51.429719\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.687533\" xlink:href=\"#m223068d224\" y=\"70.272745\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.732189\" xlink:href=\"#m223068d224\" y=\"90.127177\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"176.262098\" xlink:href=\"#m223068d224\" y=\"91.291394\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.965927\" xlink:href=\"#m223068d224\" y=\"65.645407\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.214129\" xlink:href=\"#m223068d224\" y=\"83.284314\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.767244\" xlink:href=\"#m223068d224\" y=\"79.345235\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.275138\" xlink:href=\"#m223068d224\" y=\"68.166106\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.52537\" xlink:href=\"#m223068d224\" y=\"78.139094\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.265306\" xlink:href=\"#m223068d224\" y=\"90.480171\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.830093\" xlink:href=\"#m223068d224\" y=\"56.171577\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.731796\" xlink:href=\"#m223068d224\" y=\"63.084116\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"61.884646\" xlink:href=\"#m223068d224\" y=\"21.936829\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.928306\" xlink:href=\"#m223068d224\" y=\"74.006203\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"179.721324\" xlink:href=\"#m223068d224\" y=\"95.777655\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.106062\" xlink:href=\"#m223068d224\" y=\"68.496053\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.936259\" xlink:href=\"#m223068d224\" y=\"79.518613\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.416324\" xlink:href=\"#m223068d224\" y=\"56.468812\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"85.877213\" xlink:href=\"#m223068d224\" y=\"44.811407\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.165665\" xlink:href=\"#m223068d224\" y=\"98.791238\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.926897\" xlink:href=\"#m223068d224\" y=\"72.245087\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.414894\" xlink:href=\"#m223068d224\" y=\"73.171725\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"102.278186\" xlink:href=\"#m223068d224\" y=\"62.54249\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.452779\" xlink:href=\"#m223068d224\" y=\"44.298236\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.753125\" xlink:href=\"#m223068d224\" y=\"67.548523\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"171.949468\" xlink:href=\"#m223068d224\" y=\"99.655031\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.280804\" xlink:href=\"#m223068d224\" y=\"75.080694\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.076062\" xlink:href=\"#m223068d224\" y=\"75.413533\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.182023\" xlink:href=\"#m223068d224\" y=\"66.415131\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.496076\" xlink:href=\"#m223068d224\" y=\"68.939542\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.76927\" xlink:href=\"#m223068d224\" y=\"85.658334\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.601135\" xlink:href=\"#m223068d224\" y=\"84.915609\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.898561\" xlink:href=\"#m223068d224\" y=\"81.750068\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.966092\" xlink:href=\"#m223068d224\" y=\"83.353559\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.021595\" xlink:href=\"#m223068d224\" y=\"85.521715\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"182.567724\" xlink:href=\"#m223068d224\" y=\"110.07826\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"86.180424\" xlink:href=\"#m223068d224\" y=\"47.123751\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.964308\" xlink:href=\"#m223068d224\" y=\"85.344031\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.352408\" xlink:href=\"#m223068d224\" y=\"90.495457\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.568066\" xlink:href=\"#m223068d224\" y=\"85.582192\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"98.616221\" xlink:href=\"#m223068d224\" y=\"95.146762\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.28078\" xlink:href=\"#m223068d224\" y=\"60.757104\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.633132\" xlink:href=\"#m223068d224\" y=\"107.716871\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.050643\" xlink:href=\"#m223068d224\" y=\"112.930338\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.848397\" xlink:href=\"#m223068d224\" y=\"82.64305\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"163.727224\" xlink:href=\"#m223068d224\" y=\"116.941128\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"63.780071\" xlink:href=\"#m223068d224\" y=\"40.567292\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.310922\" xlink:href=\"#m223068d224\" y=\"81.409386\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.659789\" xlink:href=\"#m223068d224\" y=\"87.470191\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.14535\" xlink:href=\"#m223068d224\" y=\"51.311688\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"81.409446\" xlink:href=\"#m223068d224\" y=\"40.486176\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.269014\" xlink:href=\"#m223068d224\" y=\"83.075064\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.804314\" xlink:href=\"#m223068d224\" y=\"77.495072\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.188656\" xlink:href=\"#m223068d224\" y=\"70.783367\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.899793\" xlink:href=\"#m223068d224\" y=\"51.391612\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"75.62332\" xlink:href=\"#m223068d224\" y=\"45.880565\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.279638\" xlink:href=\"#m223068d224\" y=\"59.348752\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.83682\" xlink:href=\"#m223068d224\" y=\"89.761221\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.168345\" xlink:href=\"#m223068d224\" y=\"99.116979\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.893526\" xlink:href=\"#m223068d224\" y=\"95.081134\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.471362\" xlink:href=\"#m223068d224\" y=\"77.577651\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.15339\" xlink:href=\"#m223068d224\" y=\"78.898478\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.267976\" xlink:href=\"#m223068d224\" y=\"73.891179\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.899481\" xlink:href=\"#m223068d224\" y=\"99.239295\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.462658\" xlink:href=\"#m223068d224\" y=\"98.352189\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.248754\" xlink:href=\"#m223068d224\" y=\"77.626032\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.952228\" xlink:href=\"#m223068d224\" y=\"48.439394\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.361052\" xlink:href=\"#m223068d224\" y=\"83.976158\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.297826\" xlink:href=\"#m223068d224\" y=\"80.388921\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.717316\" xlink:href=\"#m223068d224\" y=\"64.880611\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.726713\" xlink:href=\"#m223068d224\" y=\"112.510165\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.297655\" xlink:href=\"#m223068d224\" y=\"66.565914\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.875135\" xlink:href=\"#m223068d224\" y=\"59.111928\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.099293\" xlink:href=\"#m223068d224\" y=\"59.080485\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"102.732885\" xlink:href=\"#m223068d224\" y=\"74.239601\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"164.239624\" xlink:href=\"#m223068d224\" y=\"96.958032\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.057368\" xlink:href=\"#m223068d224\" y=\"64.501403\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.835472\" xlink:href=\"#m223068d224\" y=\"79.917909\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.506039\" xlink:href=\"#m223068d224\" y=\"91.249431\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"164.956436\" xlink:href=\"#m223068d224\" y=\"108.108029\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.608784\" xlink:href=\"#m223068d224\" y=\"98.17224\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.412294\" xlink:href=\"#m223068d224\" y=\"70.678165\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.742635\" xlink:href=\"#m223068d224\" y=\"94.179565\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"147.225542\" xlink:href=\"#m223068d224\" y=\"88.20465\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.600697\" xlink:href=\"#m223068d224\" y=\"63.69563\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.651663\" xlink:href=\"#m223068d224\" y=\"89.806476\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.921482\" xlink:href=\"#m223068d224\" y=\"74.926228\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.057936\" xlink:href=\"#m223068d224\" y=\"52.380875\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.866124\" xlink:href=\"#m223068d224\" y=\"94.129046\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"85.889843\" xlink:href=\"#m223068d224\" y=\"27.865388\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.729981\" xlink:href=\"#m223068d224\" y=\"87.197926\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.34725\" xlink:href=\"#m223068d224\" y=\"100.368042\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.947682\" xlink:href=\"#m223068d224\" y=\"66.572141\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.230643\" xlink:href=\"#m223068d224\" y=\"82.998094\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.05324\" xlink:href=\"#m223068d224\" y=\"61.195417\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.248384\" xlink:href=\"#m223068d224\" y=\"34.882252\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.073753\" xlink:href=\"#m223068d224\" y=\"52.623829\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.90429\" xlink:href=\"#m223068d224\" y=\"78.527675\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.086806\" xlink:href=\"#m223068d224\" y=\"75.479286\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"86.927746\" xlink:href=\"#m223068d224\" y=\"33.978139\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"104.023679\" xlink:href=\"#m223068d224\" y=\"58.650741\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.071213\" xlink:href=\"#m223068d224\" y=\"53.695528\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.334896\" xlink:href=\"#m223068d224\" y=\"50.306584\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.446627\" xlink:href=\"#m223068d224\" y=\"63.757455\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"163.455676\" xlink:href=\"#m223068d224\" y=\"101.946713\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.367654\" xlink:href=\"#m223068d224\" y=\"65.865943\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.87771\" xlink:href=\"#m223068d224\" y=\"70.581417\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.82992\" xlink:href=\"#m223068d224\" y=\"57.858647\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.185824\" xlink:href=\"#m223068d224\" y=\"79.03551\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.652502\" xlink:href=\"#m223068d224\" y=\"83.394534\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.443034\" xlink:href=\"#m223068d224\" y=\"53.063231\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.592728\" xlink:href=\"#m223068d224\" y=\"64.540409\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.560494\" xlink:href=\"#m223068d224\" y=\"61.553235\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.403864\" xlink:href=\"#m223068d224\" y=\"68.513662\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.992161\" xlink:href=\"#m223068d224\" y=\"91.782888\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.40047\" xlink:href=\"#m223068d224\" y=\"75.968396\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"176.97457\" xlink:href=\"#m223068d224\" y=\"126.917809\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.270666\" xlink:href=\"#m223068d224\" y=\"67.172347\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.671432\" xlink:href=\"#m223068d224\" y=\"57.370228\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"61.310768\" xlink:href=\"#m223068d224\" y=\"60.12397\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"164.085587\" xlink:href=\"#m223068d224\" y=\"105.898141\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.508629\" xlink:href=\"#m223068d224\" y=\"33.693994\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"168.428082\" xlink:href=\"#m223068d224\" y=\"120.956778\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.4244\" xlink:href=\"#m223068d224\" y=\"63.425944\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.733785\" xlink:href=\"#m223068d224\" y=\"96.864425\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"189.036954\" xlink:href=\"#m223068d224\" y=\"107.969693\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.578095\" xlink:href=\"#m223068d224\" y=\"69.835159\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.879999\" xlink:href=\"#m223068d224\" y=\"64.079276\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"75.059525\" xlink:href=\"#m223068d224\" y=\"41.974966\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"104.666143\" xlink:href=\"#m223068d224\" y=\"47.314122\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.013169\" xlink:href=\"#m223068d224\" y=\"92.844484\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.966849\" xlink:href=\"#m223068d224\" y=\"68.101528\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.681624\" xlink:href=\"#m223068d224\" y=\"92.776206\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.919918\" xlink:href=\"#m223068d224\" y=\"53.441767\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"82.953968\" xlink:href=\"#m223068d224\" y=\"55.955396\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.679362\" xlink:href=\"#m223068d224\" y=\"79.903616\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.135689\" xlink:href=\"#m223068d224\" y=\"69.976996\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"92.793379\" xlink:href=\"#m223068d224\" y=\"42.398336\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.703031\" xlink:href=\"#m223068d224\" y=\"101.50392\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"85.402741\" xlink:href=\"#m223068d224\" y=\"81.060937\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.775276\" xlink:href=\"#m223068d224\" y=\"85.631901\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.21165\" xlink:href=\"#m223068d224\" y=\"84.234059\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.37934\" xlink:href=\"#m223068d224\" y=\"75.518422\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"49.094922\" xlink:href=\"#m223068d224\" y=\"44.712793\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.713151\" xlink:href=\"#m223068d224\" y=\"80.893734\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.949747\" xlink:href=\"#m223068d224\" y=\"51.844074\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"179.433331\" xlink:href=\"#m223068d224\" y=\"97.442358\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"69.930635\" xlink:href=\"#m223068d224\" y=\"52.306047\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"207.658239\" xlink:href=\"#m223068d224\" y=\"106.569245\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"147.267805\" xlink:href=\"#m223068d224\" y=\"78.854816\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.381787\" xlink:href=\"#m223068d224\" y=\"50.615643\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"176.806784\" xlink:href=\"#m223068d224\" y=\"114.195169\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.727949\" xlink:href=\"#m223068d224\" y=\"64.413834\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"83.785376\" xlink:href=\"#m223068d224\" y=\"40.185009\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.740377\" xlink:href=\"#m223068d224\" y=\"77.963948\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.471443\" xlink:href=\"#m223068d224\" y=\"56.366642\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.022793\" xlink:href=\"#m223068d224\" y=\"89.486001\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.310652\" xlink:href=\"#m223068d224\" y=\"75.526421\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.989632\" xlink:href=\"#m223068d224\" y=\"88.027667\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.99065\" xlink:href=\"#m223068d224\" y=\"66.830253\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"177.093454\" xlink:href=\"#m223068d224\" y=\"98.214749\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.659259\" xlink:href=\"#m223068d224\" y=\"71.177224\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"89.622749\" xlink:href=\"#m223068d224\" y=\"56.608238\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.855995\" xlink:href=\"#m223068d224\" y=\"36.646508\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.568314\" xlink:href=\"#m223068d224\" y=\"79.411249\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.082765\" xlink:href=\"#m223068d224\" y=\"92.470725\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.531786\" xlink:href=\"#m223068d224\" y=\"64.607553\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.078408\" xlink:href=\"#m223068d224\" y=\"72.076307\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.995829\" xlink:href=\"#m223068d224\" y=\"110.001898\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.63618\" xlink:href=\"#m223068d224\" y=\"74.49326\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.271776\" xlink:href=\"#m223068d224\" y=\"60.523929\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.570066\" xlink:href=\"#m223068d224\" y=\"59.022375\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"185.383594\" xlink:href=\"#m223068d224\" y=\"127.227892\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.174199\" xlink:href=\"#m223068d224\" y=\"64.925739\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.40729\" xlink:href=\"#m223068d224\" y=\"82.098055\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"166.653659\" xlink:href=\"#m223068d224\" y=\"92.561058\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"110.986432\" xlink:href=\"#m223068d224\" y=\"54.136403\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.898484\" xlink:href=\"#m223068d224\" y=\"69.388716\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.636193\" xlink:href=\"#m223068d224\" y=\"99.223559\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.433772\" xlink:href=\"#m223068d224\" y=\"59.793155\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.343496\" xlink:href=\"#m223068d224\" y=\"45.233731\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"157.507394\" xlink:href=\"#m223068d224\" y=\"118.004779\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.851308\" xlink:href=\"#m223068d224\" y=\"86.77277\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.828695\" xlink:href=\"#m223068d224\" y=\"80.091992\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.706851\" xlink:href=\"#m223068d224\" y=\"94.028697\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.259348\" xlink:href=\"#m223068d224\" y=\"86.560017\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"106.255981\" xlink:href=\"#m223068d224\" y=\"54.094484\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.012074\" xlink:href=\"#m223068d224\" y=\"64.676359\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.522152\" xlink:href=\"#m223068d224\" y=\"85.271537\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.835301\" xlink:href=\"#m223068d224\" y=\"37.079734\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.600849\" xlink:href=\"#m223068d224\" y=\"77.650598\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.328458\" xlink:href=\"#m223068d224\" y=\"78.286584\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.351852\" xlink:href=\"#m223068d224\" y=\"90.698256\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.739649\" xlink:href=\"#m223068d224\" y=\"84.201948\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.402712\" xlink:href=\"#m223068d224\" y=\"81.669758\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"176.750496\" xlink:href=\"#m223068d224\" y=\"91.533819\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.086608\" xlink:href=\"#m223068d224\" y=\"67.6739\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"176.711045\" xlink:href=\"#m223068d224\" y=\"83.1135\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.536548\" xlink:href=\"#m223068d224\" y=\"73.930606\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.918181\" xlink:href=\"#m223068d224\" y=\"33.530809\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"93.656439\" xlink:href=\"#m223068d224\" y=\"65.842212\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.120262\" xlink:href=\"#m223068d224\" y=\"93.915174\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"104.552352\" xlink:href=\"#m223068d224\" y=\"55.886355\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.290106\" xlink:href=\"#m223068d224\" y=\"96.782878\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.09512\" xlink:href=\"#m223068d224\" y=\"57.36429\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.208053\" xlink:href=\"#m223068d224\" y=\"88.499483\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"156.74321\" xlink:href=\"#m223068d224\" y=\"85.58282\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.920686\" xlink:href=\"#m223068d224\" y=\"36.082676\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"197.659774\" xlink:href=\"#m223068d224\" y=\"118.863147\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.832097\" xlink:href=\"#m223068d224\" y=\"57.228561\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.964362\" xlink:href=\"#m223068d224\" y=\"69.982473\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.764576\" xlink:href=\"#m223068d224\" y=\"56.344575\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.694207\" xlink:href=\"#m223068d224\" y=\"54.190138\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.139372\" xlink:href=\"#m223068d224\" y=\"60.363033\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.185434\" xlink:href=\"#m223068d224\" y=\"84.029014\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.102958\" xlink:href=\"#m223068d224\" y=\"60.901476\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.583708\" xlink:href=\"#m223068d224\" y=\"78.133311\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.314476\" xlink:href=\"#m223068d224\" y=\"85.726887\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.991314\" xlink:href=\"#m223068d224\" y=\"71.66472\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.622726\" xlink:href=\"#m223068d224\" y=\"77.333795\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"98.232091\" xlink:href=\"#m223068d224\" y=\"39.759098\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.399063\" xlink:href=\"#m223068d224\" y=\"65.970893\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"73.729033\" xlink:href=\"#m223068d224\" y=\"32.793765\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.145506\" xlink:href=\"#m223068d224\" y=\"54.342016\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.371866\" xlink:href=\"#m223068d224\" y=\"78.515728\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.584023\" xlink:href=\"#m223068d224\" y=\"92.751129\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.783169\" xlink:href=\"#m223068d224\" y=\"74.248527\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.491115\" xlink:href=\"#m223068d224\" y=\"41.252514\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"102.866057\" xlink:href=\"#m223068d224\" y=\"50.590337\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.283943\" xlink:href=\"#m223068d224\" y=\"52.838019\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.431656\" xlink:href=\"#m223068d224\" y=\"78.24014\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.235323\" xlink:href=\"#m223068d224\" y=\"57.687977\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.154017\" xlink:href=\"#m223068d224\" y=\"80.060908\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"158.18432\" xlink:href=\"#m223068d224\" y=\"102.399926\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.544589\" xlink:href=\"#m223068d224\" y=\"49.174405\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.950244\" xlink:href=\"#m223068d224\" y=\"99.869907\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"105.609688\" xlink:href=\"#m223068d224\" y=\"71.530672\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.37934\" xlink:href=\"#m223068d224\" y=\"90.839356\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.550754\" xlink:href=\"#m223068d224\" y=\"91.328239\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.771964\" xlink:href=\"#m223068d224\" y=\"56.51824\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.452931\" xlink:href=\"#m223068d224\" y=\"77.581395\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"88.970488\" xlink:href=\"#m223068d224\" y=\"69.731857\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"72.167452\" xlink:href=\"#m223068d224\" y=\"48.03955\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.918338\" xlink:href=\"#m223068d224\" y=\"45.61572\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.322324\" xlink:href=\"#m223068d224\" y=\"64.749184\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.619335\" xlink:href=\"#m223068d224\" y=\"67.057541\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.987755\" xlink:href=\"#m223068d224\" y=\"43.494857\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.210266\" xlink:href=\"#m223068d224\" y=\"99.241184\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.747206\" xlink:href=\"#m223068d224\" y=\"76.480885\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.123793\" xlink:href=\"#m223068d224\" y=\"80.943323\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.592488\" xlink:href=\"#m223068d224\" y=\"90.860432\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"106.946499\" xlink:href=\"#m223068d224\" y=\"61.017229\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.376542\" xlink:href=\"#m223068d224\" y=\"79.028298\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"157.066034\" xlink:href=\"#m223068d224\" y=\"68.310742\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"61.919273\" xlink:href=\"#m223068d224\" y=\"36.110239\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.143917\" xlink:href=\"#m223068d224\" y=\"47.779824\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"158.63866\" xlink:href=\"#m223068d224\" y=\"95.191988\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"95.446709\" xlink:href=\"#m223068d224\" y=\"63.879215\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.881883\" xlink:href=\"#m223068d224\" y=\"60.796226\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.542112\" xlink:href=\"#m223068d224\" y=\"72.06115\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.058606\" xlink:href=\"#m223068d224\" y=\"93.492729\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"69.841018\" xlink:href=\"#m223068d224\" y=\"62.087303\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.408718\" xlink:href=\"#m223068d224\" y=\"61.017172\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"163.480828\" xlink:href=\"#m223068d224\" y=\"88.861223\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.71544\" xlink:href=\"#m223068d224\" y=\"65.432609\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.888505\" xlink:href=\"#m223068d224\" y=\"75.245757\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.700969\" xlink:href=\"#m223068d224\" y=\"52.998308\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.306025\" xlink:href=\"#m223068d224\" y=\"67.505346\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.508785\" xlink:href=\"#m223068d224\" y=\"47.712361\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.098894\" xlink:href=\"#m223068d224\" y=\"57.482873\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"181.646271\" xlink:href=\"#m223068d224\" y=\"89.22358\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"167.417688\" xlink:href=\"#m223068d224\" y=\"106.806726\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"194.282168\" xlink:href=\"#m223068d224\" y=\"101.076336\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.339623\" xlink:href=\"#m223068d224\" y=\"87.869671\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.137777\" xlink:href=\"#m223068d224\" y=\"94.271107\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.758446\" xlink:href=\"#m223068d224\" y=\"87.138561\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"157.605091\" xlink:href=\"#m223068d224\" y=\"104.417311\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.339042\" xlink:href=\"#m223068d224\" y=\"80.876093\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"76.447736\" xlink:href=\"#m223068d224\" y=\"42.962169\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"93.410382\" xlink:href=\"#m223068d224\" y=\"54.401713\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"192.349665\" xlink:href=\"#m223068d224\" y=\"115.568328\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.714946\" xlink:href=\"#m223068d224\" y=\"79.025681\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.976151\" xlink:href=\"#m223068d224\" y=\"60.538573\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.718105\" xlink:href=\"#m223068d224\" y=\"72.489189\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.626203\" xlink:href=\"#m223068d224\" y=\"75.428237\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.782542\" xlink:href=\"#m223068d224\" y=\"79.261784\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.265898\" xlink:href=\"#m223068d224\" y=\"53.58479\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.731858\" xlink:href=\"#m223068d224\" y=\"62.782313\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.634104\" xlink:href=\"#m223068d224\" y=\"97.34357\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.437687\" xlink:href=\"#m223068d224\" y=\"81.95478\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.97157\" xlink:href=\"#m223068d224\" y=\"85.311799\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"82.729464\" xlink:href=\"#m223068d224\" y=\"40.028913\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"88.492086\" xlink:href=\"#m223068d224\" y=\"47.557996\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.074866\" xlink:href=\"#m223068d224\" y=\"37.089799\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"154.450506\" xlink:href=\"#m223068d224\" y=\"98.471492\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"104.004408\" xlink:href=\"#m223068d224\" y=\"78.947201\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.367583\" xlink:href=\"#m223068d224\" y=\"83.75273\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.206093\" xlink:href=\"#m223068d224\" y=\"72.147136\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.207918\" xlink:href=\"#m223068d224\" y=\"86.633442\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.448839\" xlink:href=\"#m223068d224\" y=\"57.969193\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"87.212839\" xlink:href=\"#m223068d224\" y=\"43.240777\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"76.000143\" xlink:href=\"#m223068d224\" y=\"52.7966\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"154.956236\" xlink:href=\"#m223068d224\" y=\"92.533969\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.834916\" xlink:href=\"#m223068d224\" y=\"97.400566\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"147.369933\" xlink:href=\"#m223068d224\" y=\"95.633205\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"170.697518\" xlink:href=\"#m223068d224\" y=\"93.976181\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.320017\" xlink:href=\"#m223068d224\" y=\"73.752897\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.573693\" xlink:href=\"#m223068d224\" y=\"77.310359\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.589485\" xlink:href=\"#m223068d224\" y=\"53.613104\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"77.666904\" xlink:href=\"#m223068d224\" y=\"57.45404\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"168.638589\" xlink:href=\"#m223068d224\" y=\"116.673081\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.45026\" xlink:href=\"#m223068d224\" y=\"66.973348\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.060488\" xlink:href=\"#m223068d224\" y=\"58.807214\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.383104\" xlink:href=\"#m223068d224\" y=\"77.941297\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.053949\" xlink:href=\"#m223068d224\" y=\"87.118371\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.268244\" xlink:href=\"#m223068d224\" y=\"77.308405\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.300596\" xlink:href=\"#m223068d224\" y=\"94.361755\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.703442\" xlink:href=\"#m223068d224\" y=\"94.448344\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.43172\" xlink:href=\"#m223068d224\" y=\"46.962431\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.488081\" xlink:href=\"#m223068d224\" y=\"89.943667\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"156.589384\" xlink:href=\"#m223068d224\" y=\"74.526382\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"73.608529\" xlink:href=\"#m223068d224\" y=\"75.566231\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"58.190576\" xlink:href=\"#m223068d224\" y=\"53.282081\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.227346\" xlink:href=\"#m223068d224\" y=\"76.493448\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.963136\" xlink:href=\"#m223068d224\" y=\"84.597643\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"180.05205\" xlink:href=\"#m223068d224\" y=\"103.123746\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.941014\" xlink:href=\"#m223068d224\" y=\"98.989591\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.707224\" xlink:href=\"#m223068d224\" y=\"70.688161\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"172.065641\" xlink:href=\"#m223068d224\" y=\"102.18039\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.736529\" xlink:href=\"#m223068d224\" y=\"102.453528\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"93.939736\" xlink:href=\"#m223068d224\" y=\"46.688781\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"163.421828\" xlink:href=\"#m223068d224\" y=\"100.251172\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"164.508772\" xlink:href=\"#m223068d224\" y=\"111.596881\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.693887\" xlink:href=\"#m223068d224\" y=\"89.767168\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.013104\" xlink:href=\"#m223068d224\" y=\"63.345405\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.265453\" xlink:href=\"#m223068d224\" y=\"90.425043\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.784554\" xlink:href=\"#m223068d224\" y=\"69.071219\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.933032\" xlink:href=\"#m223068d224\" y=\"78.47049\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.927569\" xlink:href=\"#m223068d224\" y=\"73.835029\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.388679\" xlink:href=\"#m223068d224\" y=\"58.822286\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"165.731081\" xlink:href=\"#m223068d224\" y=\"97.086059\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"170.321485\" xlink:href=\"#m223068d224\" y=\"112.711141\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.486983\" xlink:href=\"#m223068d224\" y=\"82.399831\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.90862\" xlink:href=\"#m223068d224\" y=\"70.252601\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.815283\" xlink:href=\"#m223068d224\" y=\"83.696912\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.849238\" xlink:href=\"#m223068d224\" y=\"59.204049\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.315049\" xlink:href=\"#m223068d224\" y=\"63.155248\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.37971\" xlink:href=\"#m223068d224\" y=\"51.766018\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.266377\" xlink:href=\"#m223068d224\" y=\"88.860753\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"156.253105\" xlink:href=\"#m223068d224\" y=\"81.725526\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.377675\" xlink:href=\"#m223068d224\" y=\"95.385791\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.527317\" xlink:href=\"#m223068d224\" y=\"94.606208\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.008254\" xlink:href=\"#m223068d224\" y=\"71.521086\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.923982\" xlink:href=\"#m223068d224\" y=\"85.47061\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"79.581937\" xlink:href=\"#m223068d224\" y=\"78.401093\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.004837\" xlink:href=\"#m223068d224\" y=\"63.789358\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.202259\" xlink:href=\"#m223068d224\" y=\"68.192657\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.395336\" xlink:href=\"#m223068d224\" y=\"63.184385\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.55238\" xlink:href=\"#m223068d224\" y=\"66.446786\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"86.521654\" xlink:href=\"#m223068d224\" y=\"39.449743\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"164.177254\" xlink:href=\"#m223068d224\" y=\"111.127314\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.409606\" xlink:href=\"#m223068d224\" y=\"87.161355\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"170.215496\" xlink:href=\"#m223068d224\" y=\"93.297047\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.634806\" xlink:href=\"#m223068d224\" y=\"82.756384\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.703971\" xlink:href=\"#m223068d224\" y=\"77.789635\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.273287\" xlink:href=\"#m223068d224\" y=\"68.238539\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.632061\" xlink:href=\"#m223068d224\" y=\"78.613558\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.96907\" xlink:href=\"#m223068d224\" y=\"73.331216\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.54129\" xlink:href=\"#m223068d224\" y=\"80.861161\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"104.683588\" xlink:href=\"#m223068d224\" y=\"81.834253\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.602705\" xlink:href=\"#m223068d224\" y=\"89.988962\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.918832\" xlink:href=\"#m223068d224\" y=\"55.607497\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"154.727357\" xlink:href=\"#m223068d224\" y=\"97.764514\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.322307\" xlink:href=\"#m223068d224\" y=\"75.17752\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"158.128254\" xlink:href=\"#m223068d224\" y=\"87.097309\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.075345\" xlink:href=\"#m223068d224\" y=\"62.257548\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.729726\" xlink:href=\"#m223068d224\" y=\"56.740581\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"76.37842\" xlink:href=\"#m223068d224\" y=\"43.379273\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.801289\" xlink:href=\"#m223068d224\" y=\"104.64258\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.348498\" xlink:href=\"#m223068d224\" y=\"72.129826\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"173.11284\" xlink:href=\"#m223068d224\" y=\"105.14465\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.740716\" xlink:href=\"#m223068d224\" y=\"86.144955\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.934956\" xlink:href=\"#m223068d224\" y=\"78.870461\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.576809\" xlink:href=\"#m223068d224\" y=\"103.267911\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"185.332493\" xlink:href=\"#m223068d224\" y=\"131.832421\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.528572\" xlink:href=\"#m223068d224\" y=\"61.065965\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.821068\" xlink:href=\"#m223068d224\" y=\"90.577326\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.059582\" xlink:href=\"#m223068d224\" y=\"58.48372\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.239131\" xlink:href=\"#m223068d224\" y=\"92.05397\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.12054\" xlink:href=\"#m223068d224\" y=\"72.779826\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.379864\" xlink:href=\"#m223068d224\" y=\"101.567381\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.732046\" xlink:href=\"#m223068d224\" y=\"79.933501\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.631893\" xlink:href=\"#m223068d224\" y=\"78.393247\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"165.247456\" xlink:href=\"#m223068d224\" y=\"90.625253\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.473635\" xlink:href=\"#m223068d224\" y=\"69.825425\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.352537\" xlink:href=\"#m223068d224\" y=\"83.277838\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.376734\" xlink:href=\"#m223068d224\" y=\"66.080683\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"89.598273\" xlink:href=\"#m223068d224\" y=\"50.476143\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.011647\" xlink:href=\"#m223068d224\" y=\"55.457229\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"94.884485\" xlink:href=\"#m223068d224\" y=\"48.403719\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.599216\" xlink:href=\"#m223068d224\" y=\"72.618032\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.589717\" xlink:href=\"#m223068d224\" y=\"32.983723\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"105.971438\" xlink:href=\"#m223068d224\" y=\"28.435198\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.370754\" xlink:href=\"#m223068d224\" y=\"45.581135\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.915323\" xlink:href=\"#m223068d224\" y=\"81.29261\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.940951\" xlink:href=\"#m223068d224\" y=\"74.582642\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.509637\" xlink:href=\"#m223068d224\" y=\"58.098196\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.276038\" xlink:href=\"#m223068d224\" y=\"53.518527\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"157.158744\" xlink:href=\"#m223068d224\" y=\"92.769204\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.690675\" xlink:href=\"#m223068d224\" y=\"70.425142\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.108148\" xlink:href=\"#m223068d224\" y=\"74.923692\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.27683\" xlink:href=\"#m223068d224\" y=\"127.884108\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.625558\" xlink:href=\"#m223068d224\" y=\"102.074832\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.822885\" xlink:href=\"#m223068d224\" y=\"45.1052\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"157.452955\" xlink:href=\"#m223068d224\" y=\"89.395381\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.147635\" xlink:href=\"#m223068d224\" y=\"58.419559\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.879529\" xlink:href=\"#m223068d224\" y=\"69.039752\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.755824\" xlink:href=\"#m223068d224\" y=\"91.934544\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.262458\" xlink:href=\"#m223068d224\" y=\"61.2701\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"94.922496\" xlink:href=\"#m223068d224\" y=\"56.918934\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.065441\" xlink:href=\"#m223068d224\" y=\"101.152184\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.994355\" xlink:href=\"#m223068d224\" y=\"93.978596\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"102.631689\" xlink:href=\"#m223068d224\" y=\"69.467141\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.071894\" xlink:href=\"#m223068d224\" y=\"81.190136\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.461283\" xlink:href=\"#m223068d224\" y=\"74.11705\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.211545\" xlink:href=\"#m223068d224\" y=\"49.207578\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.516401\" xlink:href=\"#m223068d224\" y=\"96.396642\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"174.79831\" xlink:href=\"#m223068d224\" y=\"115.789112\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.021627\" xlink:href=\"#m223068d224\" y=\"70.438059\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"105.170643\" xlink:href=\"#m223068d224\" y=\"54.17429\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.245412\" xlink:href=\"#m223068d224\" y=\"89.482368\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.618886\" xlink:href=\"#m223068d224\" y=\"82.072361\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.119952\" xlink:href=\"#m223068d224\" y=\"62.590137\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.184849\" xlink:href=\"#m223068d224\" y=\"58.699061\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"102.245882\" xlink:href=\"#m223068d224\" y=\"39.482087\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.831506\" xlink:href=\"#m223068d224\" y=\"70.15587\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.308644\" xlink:href=\"#m223068d224\" y=\"113.606712\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.796001\" xlink:href=\"#m223068d224\" y=\"91.856642\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.023391\" xlink:href=\"#m223068d224\" y=\"72.802832\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"110.241079\" xlink:href=\"#m223068d224\" y=\"38.097944\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.222436\" xlink:href=\"#m223068d224\" y=\"74.308344\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.188028\" xlink:href=\"#m223068d224\" y=\"72.039534\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.024121\" xlink:href=\"#m223068d224\" y=\"66.022384\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.77622\" xlink:href=\"#m223068d224\" y=\"67.72175\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"106.152678\" xlink:href=\"#m223068d224\" y=\"57.567428\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.936632\" xlink:href=\"#m223068d224\" y=\"79.960817\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"95.660279\" xlink:href=\"#m223068d224\" y=\"58.090307\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.913668\" xlink:href=\"#m223068d224\" y=\"88.625114\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.811266\" xlink:href=\"#m223068d224\" y=\"78.012397\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.754058\" xlink:href=\"#m223068d224\" y=\"67.832325\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.749746\" xlink:href=\"#m223068d224\" y=\"91.72205\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.621929\" xlink:href=\"#m223068d224\" y=\"86.532727\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.467581\" xlink:href=\"#m223068d224\" y=\"44.354558\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"167.055881\" xlink:href=\"#m223068d224\" y=\"92.702904\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"183.693532\" xlink:href=\"#m223068d224\" y=\"111.533087\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"93.507413\" xlink:href=\"#m223068d224\" y=\"40.087157\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.116087\" xlink:href=\"#m223068d224\" y=\"79.318989\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.76226\" xlink:href=\"#m223068d224\" y=\"84.01484\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"170.733549\" xlink:href=\"#m223068d224\" y=\"90.91041\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.050365\" xlink:href=\"#m223068d224\" y=\"81.396075\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.090909\" xlink:href=\"#m223068d224\" y=\"103.697256\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.478261\" xlink:href=\"#m223068d224\" y=\"77.007244\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"110.188375\" xlink:href=\"#m223068d224\" y=\"62.177332\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.835799\" xlink:href=\"#m223068d224\" y=\"59.156592\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.698029\" xlink:href=\"#m223068d224\" y=\"86.254317\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.547901\" xlink:href=\"#m223068d224\" y=\"34.994082\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.12452\" xlink:href=\"#m223068d224\" y=\"80.612936\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.267019\" xlink:href=\"#m223068d224\" y=\"73.504421\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.322198\" xlink:href=\"#m223068d224\" y=\"70.749223\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.522163\" xlink:href=\"#m223068d224\" y=\"34.822315\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"87.098082\" xlink:href=\"#m223068d224\" y=\"62.709753\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.594109\" xlink:href=\"#m223068d224\" y=\"97.728448\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.219518\" xlink:href=\"#m223068d224\" y=\"71.292642\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.521693\" xlink:href=\"#m223068d224\" y=\"64.453041\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.497952\" xlink:href=\"#m223068d224\" y=\"59.8282\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.219304\" xlink:href=\"#m223068d224\" y=\"101.592105\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"79.452543\" xlink:href=\"#m223068d224\" y=\"37.047887\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"69.476068\" xlink:href=\"#m223068d224\" y=\"43.721181\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"181.585703\" xlink:href=\"#m223068d224\" y=\"116.353235\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"102.009838\" xlink:href=\"#m223068d224\" y=\"52.935569\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.841172\" xlink:href=\"#m223068d224\" y=\"64.222987\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.40262\" xlink:href=\"#m223068d224\" y=\"65.575292\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.921055\" xlink:href=\"#m223068d224\" y=\"59.844863\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.910873\" xlink:href=\"#m223068d224\" y=\"87.917778\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"84.913366\" xlink:href=\"#m223068d224\" y=\"43.357108\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.898059\" xlink:href=\"#m223068d224\" y=\"47.781531\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.347381\" xlink:href=\"#m223068d224\" y=\"62.512103\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.528755\" xlink:href=\"#m223068d224\" y=\"72.102666\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"77.683044\" xlink:href=\"#m223068d224\" y=\"48.740872\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.764485\" xlink:href=\"#m223068d224\" y=\"54.344011\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.306059\" xlink:href=\"#m223068d224\" y=\"94.933384\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.111597\" xlink:href=\"#m223068d224\" y=\"85.674329\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"76.475005\" xlink:href=\"#m223068d224\" y=\"35.120633\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.925341\" xlink:href=\"#m223068d224\" y=\"88.060085\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.588904\" xlink:href=\"#m223068d224\" y=\"88.500256\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"87.236261\" xlink:href=\"#m223068d224\" y=\"34.553206\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.987399\" xlink:href=\"#m223068d224\" y=\"76.283101\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.896415\" xlink:href=\"#m223068d224\" y=\"68.552349\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.107905\" xlink:href=\"#m223068d224\" y=\"66.52886\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.975561\" xlink:href=\"#m223068d224\" y=\"68.851068\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.190406\" xlink:href=\"#m223068d224\" y=\"89.614673\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"173.804271\" xlink:href=\"#m223068d224\" y=\"92.879866\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"77.780722\" xlink:href=\"#m223068d224\" y=\"52.070898\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"115.785371\" xlink:href=\"#m223068d224\" y=\"77.464688\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.399889\" xlink:href=\"#m223068d224\" y=\"90.41338\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.049582\" xlink:href=\"#m223068d224\" y=\"92.157972\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"167.365611\" xlink:href=\"#m223068d224\" y=\"100.550758\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.274684\" xlink:href=\"#m223068d224\" y=\"71.100845\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.760068\" xlink:href=\"#m223068d224\" y=\"88.677259\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.16553\" xlink:href=\"#m223068d224\" y=\"95.12083\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.318952\" xlink:href=\"#m223068d224\" y=\"71.812804\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.14214\" xlink:href=\"#m223068d224\" y=\"62.335669\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.680939\" xlink:href=\"#m223068d224\" y=\"102.153642\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"85.763779\" xlink:href=\"#m223068d224\" y=\"52.465473\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.873171\" xlink:href=\"#m223068d224\" y=\"76.937278\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.685171\" xlink:href=\"#m223068d224\" y=\"69.203819\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.45766\" xlink:href=\"#m223068d224\" y=\"66.414185\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.516425\" xlink:href=\"#m223068d224\" y=\"81.471847\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"186.936351\" xlink:href=\"#m223068d224\" y=\"86.291219\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.733317\" xlink:href=\"#m223068d224\" y=\"79.525548\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"165.712538\" xlink:href=\"#m223068d224\" y=\"105.866073\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.106108\" xlink:href=\"#m223068d224\" y=\"50.452317\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.5257\" xlink:href=\"#m223068d224\" y=\"83.286848\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.914034\" xlink:href=\"#m223068d224\" y=\"81.140036\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.714248\" xlink:href=\"#m223068d224\" y=\"66.640187\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.939129\" xlink:href=\"#m223068d224\" y=\"70.795044\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.896133\" xlink:href=\"#m223068d224\" y=\"96.079759\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.874705\" xlink:href=\"#m223068d224\" y=\"57.982617\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.046348\" xlink:href=\"#m223068d224\" y=\"89.615357\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"71.535753\" xlink:href=\"#m223068d224\" y=\"38.677396\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.919572\" xlink:href=\"#m223068d224\" y=\"67.001075\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"110.400901\" xlink:href=\"#m223068d224\" y=\"85.116202\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"67.480846\" xlink:href=\"#m223068d224\" y=\"25.398617\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.405743\" xlink:href=\"#m223068d224\" y=\"74.892773\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"163.421651\" xlink:href=\"#m223068d224\" y=\"91.11921\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.172892\" xlink:href=\"#m223068d224\" y=\"77.65933\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"183.862609\" xlink:href=\"#m223068d224\" y=\"103.545979\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.314181\" xlink:href=\"#m223068d224\" y=\"65.853054\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"168.704074\" xlink:href=\"#m223068d224\" y=\"80.666012\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.433172\" xlink:href=\"#m223068d224\" y=\"75.844362\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.838576\" xlink:href=\"#m223068d224\" y=\"86.865144\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.739293\" xlink:href=\"#m223068d224\" y=\"66.175796\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"81.639207\" xlink:href=\"#m223068d224\" y=\"64.12466\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"158.956789\" xlink:href=\"#m223068d224\" y=\"94.544997\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"66.063285\" xlink:href=\"#m223068d224\" y=\"36.083324\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.357823\" xlink:href=\"#m223068d224\" y=\"98.755624\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.023881\" xlink:href=\"#m223068d224\" y=\"92.028624\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.566567\" xlink:href=\"#m223068d224\" y=\"66.796979\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.293904\" xlink:href=\"#m223068d224\" y=\"79.458325\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.639618\" xlink:href=\"#m223068d224\" y=\"99.282748\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.511838\" xlink:href=\"#m223068d224\" y=\"94.449094\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.370562\" xlink:href=\"#m223068d224\" y=\"69.884631\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.666916\" xlink:href=\"#m223068d224\" y=\"74.374253\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.866519\" xlink:href=\"#m223068d224\" y=\"76.136384\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.183929\" xlink:href=\"#m223068d224\" y=\"98.300482\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.959078\" xlink:href=\"#m223068d224\" y=\"29.485599\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"182.254565\" xlink:href=\"#m223068d224\" y=\"103.653405\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.157592\" xlink:href=\"#m223068d224\" y=\"84.8363\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.969016\" xlink:href=\"#m223068d224\" y=\"89.638854\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.534147\" xlink:href=\"#m223068d224\" y=\"78.187278\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"168.382795\" xlink:href=\"#m223068d224\" y=\"103.97394\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.636855\" xlink:href=\"#m223068d224\" y=\"86.913593\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.987409\" xlink:href=\"#m223068d224\" y=\"73.938193\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"102.953962\" xlink:href=\"#m223068d224\" y=\"46.861647\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.209037\" xlink:href=\"#m223068d224\" y=\"88.478804\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"94.945973\" xlink:href=\"#m223068d224\" y=\"32.962098\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.906808\" xlink:href=\"#m223068d224\" y=\"88.279967\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.74318\" xlink:href=\"#m223068d224\" y=\"57.973392\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.97967\" xlink:href=\"#m223068d224\" y=\"97.483362\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.446761\" xlink:href=\"#m223068d224\" y=\"61.955115\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.296709\" xlink:href=\"#m223068d224\" y=\"47.048212\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.939112\" xlink:href=\"#m223068d224\" y=\"86.60548\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.793536\" xlink:href=\"#m223068d224\" y=\"69.419318\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.330321\" xlink:href=\"#m223068d224\" y=\"73.027615\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.574233\" xlink:href=\"#m223068d224\" y=\"78.031816\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.262858\" xlink:href=\"#m223068d224\" y=\"93.866483\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.844944\" xlink:href=\"#m223068d224\" y=\"60.445892\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.039305\" xlink:href=\"#m223068d224\" y=\"88.031441\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.62035\" xlink:href=\"#m223068d224\" y=\"62.678733\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.426866\" xlink:href=\"#m223068d224\" y=\"75.878613\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.772093\" xlink:href=\"#m223068d224\" y=\"75.240285\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"168.523965\" xlink:href=\"#m223068d224\" y=\"89.026412\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"89.363196\" xlink:href=\"#m223068d224\" y=\"45.774114\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.85396\" xlink:href=\"#m223068d224\" y=\"62.872401\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.962223\" xlink:href=\"#m223068d224\" y=\"82.845052\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.275319\" xlink:href=\"#m223068d224\" y=\"105.166215\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.601302\" xlink:href=\"#m223068d224\" y=\"66.64524\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"40.788105\" xlink:href=\"#m223068d224\" y=\"25.045974\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.987936\" xlink:href=\"#m223068d224\" y=\"70.714575\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.520396\" xlink:href=\"#m223068d224\" y=\"63.288502\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.636922\" xlink:href=\"#m223068d224\" y=\"48.149646\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.026057\" xlink:href=\"#m223068d224\" y=\"62.149535\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"175.842767\" xlink:href=\"#m223068d224\" y=\"103.733634\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.201563\" xlink:href=\"#m223068d224\" y=\"113.73545\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"160.389227\" xlink:href=\"#m223068d224\" y=\"106.286462\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.930937\" xlink:href=\"#m223068d224\" y=\"70.375203\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.156883\" xlink:href=\"#m223068d224\" y=\"69.770618\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.754658\" xlink:href=\"#m223068d224\" y=\"70.180623\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.087505\" xlink:href=\"#m223068d224\" y=\"66.791703\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.403574\" xlink:href=\"#m223068d224\" y=\"53.164129\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"81.674355\" xlink:href=\"#m223068d224\" y=\"48.235275\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"174.162221\" xlink:href=\"#m223068d224\" y=\"85.362895\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.84787\" xlink:href=\"#m223068d224\" y=\"79.685465\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.076155\" xlink:href=\"#m223068d224\" y=\"73.869477\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.48536\" xlink:href=\"#m223068d224\" y=\"83.811505\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.829865\" xlink:href=\"#m223068d224\" y=\"72.783076\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"100.551229\" xlink:href=\"#m223068d224\" y=\"63.329879\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"83.827996\" xlink:href=\"#m223068d224\" y=\"56.453086\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"60.526889\" xlink:href=\"#m223068d224\" y=\"18.361221\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.206553\" xlink:href=\"#m223068d224\" y=\"38.261716\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.71044\" xlink:href=\"#m223068d224\" y=\"81.003275\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.384279\" xlink:href=\"#m223068d224\" y=\"93.316437\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.378432\" xlink:href=\"#m223068d224\" y=\"82.975703\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.261307\" xlink:href=\"#m223068d224\" y=\"67.145088\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.090343\" xlink:href=\"#m223068d224\" y=\"73.882683\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.897177\" xlink:href=\"#m223068d224\" y=\"86.263014\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"185.330612\" xlink:href=\"#m223068d224\" y=\"107.789462\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.371821\" xlink:href=\"#m223068d224\" y=\"70.129549\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.765441\" xlink:href=\"#m223068d224\" y=\"94.099952\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.179571\" xlink:href=\"#m223068d224\" y=\"36.839926\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.806605\" xlink:href=\"#m223068d224\" y=\"81.239974\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.208201\" xlink:href=\"#m223068d224\" y=\"75.779432\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.672889\" xlink:href=\"#m223068d224\" y=\"43.683633\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.04042\" xlink:href=\"#m223068d224\" y=\"45.975083\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.350386\" xlink:href=\"#m223068d224\" y=\"65.617093\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.581409\" xlink:href=\"#m223068d224\" y=\"80.676937\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.815148\" xlink:href=\"#m223068d224\" y=\"74.656956\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"141.27728\" xlink:href=\"#m223068d224\" y=\"89.513797\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.992611\" xlink:href=\"#m223068d224\" y=\"63.282604\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.702877\" xlink:href=\"#m223068d224\" y=\"66.568658\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"172.350816\" xlink:href=\"#m223068d224\" y=\"104.9802\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.571811\" xlink:href=\"#m223068d224\" y=\"60.513984\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.811389\" xlink:href=\"#m223068d224\" y=\"70.178811\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.625973\" xlink:href=\"#m223068d224\" y=\"44.936443\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.180933\" xlink:href=\"#m223068d224\" y=\"65.565171\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.77012\" xlink:href=\"#m223068d224\" y=\"48.220858\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"202.567925\" xlink:href=\"#m223068d224\" y=\"117.610012\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.933016\" xlink:href=\"#m223068d224\" y=\"48.899074\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.843414\" xlink:href=\"#m223068d224\" y=\"54.379137\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.025146\" xlink:href=\"#m223068d224\" y=\"83.250336\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.877214\" xlink:href=\"#m223068d224\" y=\"82.340775\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.481244\" xlink:href=\"#m223068d224\" y=\"72.314877\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"83.036488\" xlink:href=\"#m223068d224\" y=\"50.329056\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.747019\" xlink:href=\"#m223068d224\" y=\"58.813078\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.775679\" xlink:href=\"#m223068d224\" y=\"79.579817\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.553968\" xlink:href=\"#m223068d224\" y=\"82.335055\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.02556\" xlink:href=\"#m223068d224\" y=\"103.95919\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.597986\" xlink:href=\"#m223068d224\" y=\"67.147511\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.134705\" xlink:href=\"#m223068d224\" y=\"73.970552\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.532605\" xlink:href=\"#m223068d224\" y=\"92.602171\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.030195\" xlink:href=\"#m223068d224\" y=\"73.407444\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"98.197941\" xlink:href=\"#m223068d224\" y=\"57.053105\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.668239\" xlink:href=\"#m223068d224\" y=\"101.959405\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.255014\" xlink:href=\"#m223068d224\" y=\"52.878085\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"98.521322\" xlink:href=\"#m223068d224\" y=\"70.768839\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.963006\" xlink:href=\"#m223068d224\" y=\"74.265581\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.12693\" xlink:href=\"#m223068d224\" y=\"66.464692\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"85.793865\" xlink:href=\"#m223068d224\" y=\"20.711513\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.864006\" xlink:href=\"#m223068d224\" y=\"74.811024\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"179.279612\" xlink:href=\"#m223068d224\" y=\"112.354345\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"106.148599\" xlink:href=\"#m223068d224\" y=\"41.014905\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"121.658085\" xlink:href=\"#m223068d224\" y=\"49.267891\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.62941\" xlink:href=\"#m223068d224\" y=\"78.959201\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"106.482613\" xlink:href=\"#m223068d224\" y=\"50.488482\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"147.598741\" xlink:href=\"#m223068d224\" y=\"88.362355\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.933364\" xlink:href=\"#m223068d224\" y=\"64.87236\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"104.807648\" xlink:href=\"#m223068d224\" y=\"84.980586\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.371283\" xlink:href=\"#m223068d224\" y=\"73.157123\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"152.636103\" xlink:href=\"#m223068d224\" y=\"88.502622\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.554053\" xlink:href=\"#m223068d224\" y=\"65.945802\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.591506\" xlink:href=\"#m223068d224\" y=\"78.165981\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"166.75331\" xlink:href=\"#m223068d224\" y=\"101.95005\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.948021\" xlink:href=\"#m223068d224\" y=\"56.013236\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.362166\" xlink:href=\"#m223068d224\" y=\"82.10419\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.593593\" xlink:href=\"#m223068d224\" y=\"82.79514\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"69.856166\" xlink:href=\"#m223068d224\" y=\"49.817585\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.540704\" xlink:href=\"#m223068d224\" y=\"80.919181\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"163.55362\" xlink:href=\"#m223068d224\" y=\"103.987667\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.720041\" xlink:href=\"#m223068d224\" y=\"57.344301\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"133.565483\" xlink:href=\"#m223068d224\" y=\"76.097431\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.960242\" xlink:href=\"#m223068d224\" y=\"73.819833\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.156979\" xlink:href=\"#m223068d224\" y=\"55.734172\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.104403\" xlink:href=\"#m223068d224\" y=\"79.353313\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"173.863166\" xlink:href=\"#m223068d224\" y=\"103.266569\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.73389\" xlink:href=\"#m223068d224\" y=\"75.522304\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"169.807413\" xlink:href=\"#m223068d224\" y=\"114.097228\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.499771\" xlink:href=\"#m223068d224\" y=\"67.002828\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.181206\" xlink:href=\"#m223068d224\" y=\"96.774053\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.816714\" xlink:href=\"#m223068d224\" y=\"76.547489\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.135355\" xlink:href=\"#m223068d224\" y=\"79.45206\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"166.505486\" xlink:href=\"#m223068d224\" y=\"91.42696\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"110.809776\" xlink:href=\"#m223068d224\" y=\"67.139846\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"103.255916\" xlink:href=\"#m223068d224\" y=\"72.321043\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.753242\" xlink:href=\"#m223068d224\" y=\"71.012319\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.828085\" xlink:href=\"#m223068d224\" y=\"75.174309\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"134.307068\" xlink:href=\"#m223068d224\" y=\"83.357841\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.12448\" xlink:href=\"#m223068d224\" y=\"94.563092\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"123.922138\" xlink:href=\"#m223068d224\" y=\"65.071644\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"189.226449\" xlink:href=\"#m223068d224\" y=\"102.607274\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.265137\" xlink:href=\"#m223068d224\" y=\"78.455043\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.69949\" xlink:href=\"#m223068d224\" y=\"85.309515\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"94.71313\" xlink:href=\"#m223068d224\" y=\"35.935558\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.286362\" xlink:href=\"#m223068d224\" y=\"73.924682\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"137.989264\" xlink:href=\"#m223068d224\" y=\"95.002001\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.523283\" xlink:href=\"#m223068d224\" y=\"79.281307\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"122.050243\" xlink:href=\"#m223068d224\" y=\"81.114703\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"145.153882\" xlink:href=\"#m223068d224\" y=\"70.285719\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"191.692482\" xlink:href=\"#m223068d224\" y=\"105.792007\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"35.869732\" xlink:href=\"#m223068d224\" y=\"33.662958\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.066859\" xlink:href=\"#m223068d224\" y=\"96.397229\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"105.649086\" xlink:href=\"#m223068d224\" y=\"57.902524\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.89331\" xlink:href=\"#m223068d224\" y=\"109.47658\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"106.619283\" xlink:href=\"#m223068d224\" y=\"54.783034\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.503632\" xlink:href=\"#m223068d224\" y=\"59.808902\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.074398\" xlink:href=\"#m223068d224\" y=\"79.881162\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.206808\" xlink:href=\"#m223068d224\" y=\"69.339582\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.462612\" xlink:href=\"#m223068d224\" y=\"67.128152\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.700653\" xlink:href=\"#m223068d224\" y=\"80.76002\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.47281\" xlink:href=\"#m223068d224\" y=\"41.35588\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"158.573995\" xlink:href=\"#m223068d224\" y=\"95.194751\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"142.782534\" xlink:href=\"#m223068d224\" y=\"71.553665\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"119.219593\" xlink:href=\"#m223068d224\" y=\"65.885354\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"190.625656\" xlink:href=\"#m223068d224\" y=\"112.864111\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"147.875592\" xlink:href=\"#m223068d224\" y=\"48.641458\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.618093\" xlink:href=\"#m223068d224\" y=\"65.826049\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.347929\" xlink:href=\"#m223068d224\" y=\"73.634862\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.930294\" xlink:href=\"#m223068d224\" y=\"66.543171\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"166.99488\" xlink:href=\"#m223068d224\" y=\"98.204296\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.062338\" xlink:href=\"#m223068d224\" y=\"78.768496\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"73.005644\" xlink:href=\"#m223068d224\" y=\"41.145441\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.961435\" xlink:href=\"#m223068d224\" y=\"82.858745\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.350178\" xlink:href=\"#m223068d224\" y=\"68.21\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"107.867154\" xlink:href=\"#m223068d224\" y=\"87.076733\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.161158\" xlink:href=\"#m223068d224\" y=\"87.464746\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.612805\" xlink:href=\"#m223068d224\" y=\"52.895066\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.372138\" xlink:href=\"#m223068d224\" y=\"69.126909\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.737883\" xlink:href=\"#m223068d224\" y=\"65.929466\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"96.567655\" xlink:href=\"#m223068d224\" y=\"56.203069\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.20851\" xlink:href=\"#m223068d224\" y=\"73.543279\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"91.805898\" xlink:href=\"#m223068d224\" y=\"62.969282\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.886273\" xlink:href=\"#m223068d224\" y=\"95.162434\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.046215\" xlink:href=\"#m223068d224\" y=\"78.627682\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"155.981112\" xlink:href=\"#m223068d224\" y=\"64.040814\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"84.259428\" xlink:href=\"#m223068d224\" y=\"41.571272\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.72687\" xlink:href=\"#m223068d224\" y=\"69.049405\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"139.750269\" xlink:href=\"#m223068d224\" y=\"80.768924\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"126.907253\" xlink:href=\"#m223068d224\" y=\"63.672194\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"167.195325\" xlink:href=\"#m223068d224\" y=\"92.972236\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"183.792017\" xlink:href=\"#m223068d224\" y=\"104.756519\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.245328\" xlink:href=\"#m223068d224\" y=\"88.863457\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.747669\" xlink:href=\"#m223068d224\" y=\"57.19456\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.901898\" xlink:href=\"#m223068d224\" y=\"66.155567\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.298715\" xlink:href=\"#m223068d224\" y=\"56.979099\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"111.855101\" xlink:href=\"#m223068d224\" y=\"49.512741\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.186123\" xlink:href=\"#m223068d224\" y=\"64.589432\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"138.828138\" xlink:href=\"#m223068d224\" y=\"76.59467\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.014598\" xlink:href=\"#m223068d224\" y=\"62.746872\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.428472\" xlink:href=\"#m223068d224\" y=\"84.511858\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"110.736835\" xlink:href=\"#m223068d224\" y=\"62.330743\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"106.362306\" xlink:href=\"#m223068d224\" y=\"65.935852\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"188.116097\" xlink:href=\"#m223068d224\" y=\"89.77421\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"127.780672\" xlink:href=\"#m223068d224\" y=\"69.446512\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.080681\" xlink:href=\"#m223068d224\" y=\"82.052416\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.847751\" xlink:href=\"#m223068d224\" y=\"44.274423\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"125.79836\" xlink:href=\"#m223068d224\" y=\"57.391585\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.825675\" xlink:href=\"#m223068d224\" y=\"61.600178\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"84.467416\" xlink:href=\"#m223068d224\" y=\"43.150964\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"159.242189\" xlink:href=\"#m223068d224\" y=\"82.790758\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"171.096649\" xlink:href=\"#m223068d224\" y=\"119.023538\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.902249\" xlink:href=\"#m223068d224\" y=\"65.948497\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"150.301782\" xlink:href=\"#m223068d224\" y=\"88.121596\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"191.382914\" xlink:href=\"#m223068d224\" y=\"116.956454\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.579322\" xlink:href=\"#m223068d224\" y=\"68.513317\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.207529\" xlink:href=\"#m223068d224\" y=\"76.041076\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"178.105356\" xlink:href=\"#m223068d224\" y=\"97.022531\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.427259\" xlink:href=\"#m223068d224\" y=\"87.789701\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"177.042076\" xlink:href=\"#m223068d224\" y=\"124.743645\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"151.827456\" xlink:href=\"#m223068d224\" y=\"97.229862\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.834188\" xlink:href=\"#m223068d224\" y=\"80.117202\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"154.126364\" xlink:href=\"#m223068d224\" y=\"88.055897\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.073524\" xlink:href=\"#m223068d224\" y=\"74.631067\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"99.463037\" xlink:href=\"#m223068d224\" y=\"60.499838\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.076236\" xlink:href=\"#m223068d224\" y=\"100.683089\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"190.715113\" xlink:href=\"#m223068d224\" y=\"113.669047\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"117.170315\" xlink:href=\"#m223068d224\" y=\"36.965523\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"46.635502\" xlink:href=\"#m223068d224\" y=\"27.334633\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.646507\" xlink:href=\"#m223068d224\" y=\"53.046815\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"162.290947\" xlink:href=\"#m223068d224\" y=\"88.278283\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"149.49546\" xlink:href=\"#m223068d224\" y=\"75.628386\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"168.805897\" xlink:href=\"#m223068d224\" y=\"85.759623\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.674917\" xlink:href=\"#m223068d224\" y=\"103.577068\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"144.302134\" xlink:href=\"#m223068d224\" y=\"102.736834\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.993085\" xlink:href=\"#m223068d224\" y=\"106.610455\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"97.145727\" xlink:href=\"#m223068d224\" y=\"69.611579\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"167.604964\" xlink:href=\"#m223068d224\" y=\"90.724066\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"140.73437\" xlink:href=\"#m223068d224\" y=\"93.890576\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"129.926752\" xlink:href=\"#m223068d224\" y=\"72.519816\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.162477\" xlink:href=\"#m223068d224\" y=\"67.119413\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"95.527924\" xlink:href=\"#m223068d224\" y=\"38.498495\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"116.47448\" xlink:href=\"#m223068d224\" y=\"54.156265\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"131.514052\" xlink:href=\"#m223068d224\" y=\"74.434976\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"105.297262\" xlink:href=\"#m223068d224\" y=\"57.794485\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"161.291305\" xlink:href=\"#m223068d224\" y=\"94.157787\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"109.38552\" xlink:href=\"#m223068d224\" y=\"76.058659\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"101.700219\" xlink:href=\"#m223068d224\" y=\"56.496021\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"135.031612\" xlink:href=\"#m223068d224\" y=\"91.120308\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.038211\" xlink:href=\"#m223068d224\" y=\"78.037476\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"146.033779\" xlink:href=\"#m223068d224\" y=\"86.661434\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"124.368937\" xlink:href=\"#m223068d224\" y=\"114.811397\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"89.858887\" xlink:href=\"#m223068d224\" y=\"45.848866\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.374224\" xlink:href=\"#m223068d224\" y=\"88.818975\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"130.427169\" xlink:href=\"#m223068d224\" y=\"102.470406\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"94.946007\" xlink:href=\"#m223068d224\" y=\"87.814796\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"113.249959\" xlink:href=\"#m223068d224\" y=\"54.872417\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"163.945138\" xlink:href=\"#m223068d224\" y=\"79.37609\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"157.755255\" xlink:href=\"#m223068d224\" y=\"81.720802\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"106.6801\" xlink:href=\"#m223068d224\" y=\"59.929293\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"128.907232\" xlink:href=\"#m223068d224\" y=\"75.319314\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"157.152475\" xlink:href=\"#m223068d224\" y=\"91.829207\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"89.663777\" xlink:href=\"#m223068d224\" y=\"64.705579\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"95.681332\" xlink:href=\"#m223068d224\" y=\"64.49348\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"118.799151\" xlink:href=\"#m223068d224\" y=\"78.155936\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"132.393638\" xlink:href=\"#m223068d224\" y=\"72.636967\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"112.733894\" xlink:href=\"#m223068d224\" y=\"71.173215\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"153.589392\" xlink:href=\"#m223068d224\" y=\"102.81754\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"90.999961\" xlink:href=\"#m223068d224\" y=\"47.38974\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"157.462544\" xlink:href=\"#m223068d224\" y=\"108.379658\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"156.955678\" xlink:href=\"#m223068d224\" y=\"79.410215\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"143.549693\" xlink:href=\"#m223068d224\" y=\"90.723614\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"120.304577\" xlink:href=\"#m223068d224\" y=\"72.59119\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"168.774724\" xlink:href=\"#m223068d224\" y=\"118.611102\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"136.068539\" xlink:href=\"#m223068d224\" y=\"82.57952\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"114.46695\" xlink:href=\"#m223068d224\" y=\"42.405031\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"148.094342\" xlink:href=\"#m223068d224\" y=\"75.871944\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"108.607005\" xlink:href=\"#m223068d224\" y=\"70.229849\"/>\r\n",
       "     <use style=\"fill:#1f77b4;stroke:#1f77b4;\" x=\"92.856058\" xlink:href=\"#m223068d224\" y=\"54.910563\"/>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"matplotlib.axis_1\">\r\n",
       "    <g id=\"xtick_1\">\r\n",
       "     <g id=\"line2d_1\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 0 0 \r\n",
       "L 0 3.5 \r\n",
       "\" id=\"ma8eff4b59f\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
       "      </defs>\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"77.139929\" xlink:href=\"#ma8eff4b59f\" y=\"146.6\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_1\">\r\n",
       "      <!-- −2 -->\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 10.59375 35.5 \r\n",
       "L 73.1875 35.5 \r\n",
       "L 73.1875 27.203125 \r\n",
       "L 10.59375 27.203125 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-2212\"/>\r\n",
       "       <path d=\"M 19.1875 8.296875 \r\n",
       "L 53.609375 8.296875 \r\n",
       "L 53.609375 0 \r\n",
       "L 7.328125 0 \r\n",
       "L 7.328125 8.296875 \r\n",
       "Q 12.9375 14.109375 22.625 23.890625 \r\n",
       "Q 32.328125 33.6875 34.8125 36.53125 \r\n",
       "Q 39.546875 41.84375 41.421875 45.53125 \r\n",
       "Q 43.3125 49.21875 43.3125 52.78125 \r\n",
       "Q 43.3125 58.59375 39.234375 62.25 \r\n",
       "Q 35.15625 65.921875 28.609375 65.921875 \r\n",
       "Q 23.96875 65.921875 18.8125 64.3125 \r\n",
       "Q 13.671875 62.703125 7.8125 59.421875 \r\n",
       "L 7.8125 69.390625 \r\n",
       "Q 13.765625 71.78125 18.9375 73 \r\n",
       "Q 24.125 74.21875 28.421875 74.21875 \r\n",
       "Q 39.75 74.21875 46.484375 68.546875 \r\n",
       "Q 53.21875 62.890625 53.21875 53.421875 \r\n",
       "Q 53.21875 48.921875 51.53125 44.890625 \r\n",
       "Q 49.859375 40.875 45.40625 35.40625 \r\n",
       "Q 44.1875 33.984375 37.640625 27.21875 \r\n",
       "Q 31.109375 20.453125 19.1875 8.296875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-32\"/>\r\n",
       "      </defs>\r\n",
       "      <g transform=\"translate(69.768835 161.198437)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-2212\"/>\r\n",
       "       <use x=\"83.789062\" xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_2\">\r\n",
       "     <g id=\"line2d_2\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"129.839218\" xlink:href=\"#ma8eff4b59f\" y=\"146.6\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_2\">\r\n",
       "      <!-- 0 -->\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 31.78125 66.40625 \r\n",
       "Q 24.171875 66.40625 20.328125 58.90625 \r\n",
       "Q 16.5 51.421875 16.5 36.375 \r\n",
       "Q 16.5 21.390625 20.328125 13.890625 \r\n",
       "Q 24.171875 6.390625 31.78125 6.390625 \r\n",
       "Q 39.453125 6.390625 43.28125 13.890625 \r\n",
       "Q 47.125 21.390625 47.125 36.375 \r\n",
       "Q 47.125 51.421875 43.28125 58.90625 \r\n",
       "Q 39.453125 66.40625 31.78125 66.40625 \r\n",
       "z\r\n",
       "M 31.78125 74.21875 \r\n",
       "Q 44.046875 74.21875 50.515625 64.515625 \r\n",
       "Q 56.984375 54.828125 56.984375 36.375 \r\n",
       "Q 56.984375 17.96875 50.515625 8.265625 \r\n",
       "Q 44.046875 -1.421875 31.78125 -1.421875 \r\n",
       "Q 19.53125 -1.421875 13.0625 8.265625 \r\n",
       "Q 6.59375 17.96875 6.59375 36.375 \r\n",
       "Q 6.59375 54.828125 13.0625 64.515625 \r\n",
       "Q 19.53125 74.21875 31.78125 74.21875 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-30\"/>\r\n",
       "      </defs>\r\n",
       "      <g transform=\"translate(126.657968 161.198437)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"xtick_3\">\r\n",
       "     <g id=\"line2d_3\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.538506\" xlink:href=\"#ma8eff4b59f\" y=\"146.6\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_3\">\r\n",
       "      <!-- 2 -->\r\n",
       "      <g transform=\"translate(179.357256 161.198437)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"matplotlib.axis_2\">\r\n",
       "    <g id=\"ytick_1\">\r\n",
       "     <g id=\"line2d_4\">\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 0 0 \r\n",
       "L -3.5 0 \r\n",
       "\" id=\"mfadf429c58\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
       "      </defs>\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mfadf429c58\" y=\"105.708037\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_4\">\r\n",
       "      <!-- 0 -->\r\n",
       "      <g transform=\"translate(13.5625 109.507255)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_2\">\r\n",
       "     <g id=\"line2d_5\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mfadf429c58\" y=\"61.624543\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_5\">\r\n",
       "      <!-- 10 -->\r\n",
       "      <defs>\r\n",
       "       <path d=\"M 12.40625 8.296875 \r\n",
       "L 28.515625 8.296875 \r\n",
       "L 28.515625 63.921875 \r\n",
       "L 10.984375 60.40625 \r\n",
       "L 10.984375 69.390625 \r\n",
       "L 28.421875 72.90625 \r\n",
       "L 38.28125 72.90625 \r\n",
       "L 38.28125 8.296875 \r\n",
       "L 54.390625 8.296875 \r\n",
       "L 54.390625 0 \r\n",
       "L 12.40625 0 \r\n",
       "z\r\n",
       "\" id=\"DejaVuSans-31\"/>\r\n",
       "      </defs>\r\n",
       "      <g transform=\"translate(7.2 65.423762)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-31\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "    <g id=\"ytick_3\">\r\n",
       "     <g id=\"line2d_6\">\r\n",
       "      <g>\r\n",
       "       <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"26.925\" xlink:href=\"#mfadf429c58\" y=\"17.541049\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "     <g id=\"text_6\">\r\n",
       "      <!-- 20 -->\r\n",
       "      <g transform=\"translate(7.2 21.340268)scale(0.1 -0.1)\">\r\n",
       "       <use xlink:href=\"#DejaVuSans-32\"/>\r\n",
       "       <use x=\"63.623047\" xlink:href=\"#DejaVuSans-30\"/>\r\n",
       "      </g>\r\n",
       "     </g>\r\n",
       "    </g>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_3\">\r\n",
       "    <path d=\"M 26.925 146.6 \r\n",
       "L 26.925 10.7 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_4\">\r\n",
       "    <path d=\"M 222.225 146.6 \r\n",
       "L 222.225 10.7 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_5\">\r\n",
       "    <path d=\"M 26.925 146.6 \r\n",
       "L 222.225 146.6 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "   <g id=\"patch_6\">\r\n",
       "    <path d=\"M 26.925 10.7 \r\n",
       "L 222.225 10.7 \r\n",
       "\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n",
       "   </g>\r\n",
       "  </g>\r\n",
       " </g>\r\n",
       " <defs>\r\n",
       "  <clipPath id=\"pb6c0f0f2cd\">\r\n",
       "   <rect height=\"135.9\" width=\"195.3\" x=\"26.925\" y=\"10.7\"/>\r\n",
       "  </clipPath>\r\n",
       " </defs>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<Figure size 252x180 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def use_svg_display():\n",
    "    # 用矢量图显示\n",
    "    display.set_matplotlib_formats('svg')\n",
    "\n",
    "def set_figsize(figsize=(3.5, 2.5)):\n",
    "    use_svg_display()\n",
    "    # 设置图的尺寸\n",
    "    plt.rcParams['figure.figsize'] = figsize\n",
    "\n",
    "# # 在../d2lzh_pytorch里面添加上面两个函数后就可以这样导入\n",
    "# import sys\n",
    "# sys.path.append(\"..\")\n",
    "# from d2lzh_pytorch import * \n",
    "\n",
    "set_figsize()\n",
    "plt.scatter(features[:, 1].numpy(), labels.numpy(), 1);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "#from utils import *\n",
    "from dl_utils import *\n",
    "import sys\n",
    "sys.path.append(\"..\")\n",
    "set_figsize()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据\n",
    "\n",
    "在训练模型的时候，我们需要遍历数据集并不断读取小批量数据样本。这里我们定义一个函数：它每次返回`batch_size`（批量大小）个随机样本的特征和标签。\n",
    "\n",
    "这部分要好好理解，常用。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "###输入batch_size 样本， 标签  然后每次调用data_iter 随机抛出batch_size个样本，及其对应的labels\n",
    "#同时已经抛出过的需要跳过\n",
    "\n",
    "def data_iter(batch_size, features, labels):\n",
    "    num_samples = labels.size()[0]\n",
    "    indices = list(range(num_samples))\n",
    "    random.shuffle(indices)\n",
    "    \n",
    "    #开始迭代。从indices取出样本\n",
    "    for i in range(0, num_samples, batch_size):\n",
    "        j = indices[i:min(batch_size+i, num_samples)] # min 防止越界，最后一次不够batch个\n",
    "        yield features.index_select(0, torch.LongTensor(j)), labels.index_select(0, torch.LongTensor(j))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10\n",
      "tensor([[ 0.0473, -2.0263],\n",
      "        [-0.9308,  1.3327],\n",
      "        [-0.1671,  1.2022],\n",
      "        [ 1.3225,  1.0152],\n",
      "        [ 0.3351,  0.3179],\n",
      "        [-2.2792, -0.3291],\n",
      "        [ 0.6078, -1.2149],\n",
      "        [ 0.9656, -0.4513],\n",
      "        [-1.0845,  0.8289],\n",
      "        [ 1.1953,  0.8188]], dtype=torch.float64) tensor([14.2334, -0.5444,  2.1122,  7.0733,  6.7354,  1.4951, 12.9547, 11.2729,\n",
      "         0.8063,  7.3806], dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "for feature,label  in data_iter(10, features, labels):\n",
    "    print(label.size()[0])\n",
    "    print(feature, label)\n",
    "    break"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 初始化模型参数\n",
    "我们将权重初始化成均值为0、标准差为0.01的正态随机数，偏差则初始化成0。\n",
    "同时设置需要求导"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([[-0.0120],\n",
      "        [ 0.0016]], requires_grad=True) tensor([0.], requires_grad=True)\n"
     ]
    }
   ],
   "source": [
    "w = torch.tensor(np.random.normal(0,0.01, (features_num,1)), dtype = torch.float)\n",
    "b = torch.zeros(1, dtype = torch.float)\n",
    "w.requires_grad_(True)\n",
    "b.requires_grad_(True)\n",
    "print(w,b)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 定义模型\n",
    "向量化乘法 torch.mm\n",
    "\n",
    "损失函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def linreg(X, w, b):\n",
    "    return torch.mm(X, w) + b\n",
    "\n",
    "def squared_loss(y_hat, y):\n",
    "     # 注意这里返回的是向量, 另外, pytorch里的MSELoss并没有除以 2\n",
    "    return (y_hat-y.view(y_hat.size()))**2 /2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([[0.8000],\n",
      "        [0.8000],\n",
      "        [0.8000]])\n"
     ]
    }
   ],
   "source": [
    "out = linreg(torch.ones(3,2), torch.tensor((0.1,0.2)).view(2,-1), torch.tensor(0.5))\n",
    "print(out)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([[0.0200],\n",
       "        [0.7200],\n",
       "        [2.4200]])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_labels = torch.tensor((1,2.0,3))\n",
    "squared_loss(out, y_labels)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 定义优化算法\n",
    "以下的`sgd`函数实现了上一节中介绍的小批量随机梯度下降算法。它通过不断迭代模型参数来优化损失函数。这里自动求梯度模块计算得来的梯度是一个批量样本的梯度和。我们将它除以批量大小来得到平均值。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "def sgd(params, lr, batcha_size):\n",
    "    for param in params:\n",
    "        param.data -= lr * param.grad / batch_size # 注意这里更改param时用的param.data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 训练模型\n",
    "\n",
    "在训练中，我们将多次迭代模型参数。在每次迭代中，我们根据当前读取的小批量数据样本（特征`X`和标签`y`），通过调用反向函数`backward`计算小批量随机梯度，并调用优化算法`sgd`迭代模型参数。由于我们之前设批量大小`batch_size`为10，每个小批量的损失`l`的形状为(10, 1)。回忆一下自动求梯度一节。由于变量`l`并不是一个标量，所以我们可以调用`.sum()`将其求和得到一个标量，再运行`l.backward()`得到该变量有关模型参数的梯度。注意在每次更新完参数后不要忘了将参数的梯度清零。\n",
    "\n",
    "在一个迭代周期（epoch）中，我们将完整遍历一遍`data_iter`函数，并对训练数据集中所有样本都使用一次（假设样本数能够被批量大小整除）。这里的迭代周期个数`num_epochs`和学习率`lr`都是超参数，分别设3和0.03。在实践中，大多超参数都需要通过反复试错来不断调节。虽然迭代周期数设得越大模型可能越有效，但是训练时间可能过长。而有关学习率对模型的影响，我们会在后面“优化算法”一章中详细介绍"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch 1, loss 4.471818\n",
      "epoch 2, loss 0.578266\n",
      "epoch 3, loss 0.075693\n",
      "epoch 4, loss 0.010063\n",
      "epoch 5, loss 0.001384\n",
      "epoch 6, loss 0.000230\n",
      "epoch 7, loss 0.000076\n",
      "epoch 8, loss 0.000054\n",
      "epoch 9, loss 0.000051\n",
      "epoch 10, loss 0.000051\n"
     ]
    }
   ],
   "source": [
    "lr = 0.01\n",
    "epochs = 10\n",
    "net = linreg\n",
    "loss = squared_loss\n",
    "optimizer = sgd\n",
    "batch_size = 10\n",
    "\n",
    "#init weights\n",
    "w = torch.tensor(np.random.normal(0,0.01, (features_num,1)), dtype = torch.float64)\n",
    "b = torch.zeros(1, dtype = torch.float64)\n",
    "w.requires_grad_(True)\n",
    "b.requires_grad_(True)\n",
    "\n",
    "\n",
    "for epoch in range(epochs):\n",
    "    \n",
    "    for data, label in data_iter(batch_size, features, labels):\n",
    "        out = net(data, w, b)\n",
    "        l = loss(out, label).sum()\n",
    "        l.backward()\n",
    "        sgd([w,b],lr, batch_size)\n",
    "        \n",
    "        w.grad.data.zero_()\n",
    "        b.grad.data.zero_()\n",
    "        \n",
    "    train_l = loss(net(features, w, b), labels)\n",
    "    print('epoch %d, loss %f' % (epoch + 1, train_l.mean().item()))   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2.879, -3.567] \n",
      " tensor([[ 2.8782],\n",
      "        [-3.5670]], dtype=torch.float64, requires_grad=True)\n",
      "6.88 \n",
      " tensor([6.8800], dtype=torch.float64, requires_grad=True)\n"
     ]
    }
   ],
   "source": [
    "print(true_w, '\\n', w)\n",
    "print(true_b, '\\n', b)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 小结\n",
    "\n",
    "- 可以看出，仅使用`Tensor`和`autograd`模块就可以很容易地实现一个模型。接下来，本书会在此基础上描述更多深度学习模型，并介绍怎样使用更简洁的代码（见下一节）来实现它们。\n",
    "\n",
    "## 线性回归Pytorch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1000, 2]) torch.Size([1000])\n"
     ]
    }
   ],
   "source": [
    "from imp import reload\n",
    "import dl_utils\n",
    "reload(dl_utils)\n",
    "import torch\n",
    "num_inputs = 2\n",
    "num_examples = 1000\n",
    "true_w = [2, -3.4]\n",
    "true_b = 4.2\n",
    "features, labels = dl_utils.data_creater(num_examples, num_inputs, true_w, true_b)\n",
    "print(features.shape, labels.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据\n",
    "\n",
    "PyTorch提供了`data`包来读取数据。由于`data`常用作变量名，我们将导入的`data`模块用`Data`代替。在每一次迭代中，我们将随机读取包含10个数据样本的小批量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch.utils.data as Data\n",
    "batch_size =10\n",
    "dataset = Data.TensorDataset(features, labels)\n",
    "dataloader = Data.DataLoader(\n",
    "    dataset=dataset,      # torch TensorDataset format\n",
    "    batch_size=batch_size,      # mini batch size\n",
    "    shuffle=True,               # 要不要打乱数据 (打乱比较好)\n",
    "    num_workers=2,              # 多线程来读数据\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([[-0.5760, -0.3029],\n",
      "        [ 0.3661, -0.8851],\n",
      "        [-1.0301, -0.6774],\n",
      "        [ 0.6279,  2.0857],\n",
      "        [-2.6280, -0.5039],\n",
      "        [-0.1518,  0.6618],\n",
      "        [-1.0500, -1.6563],\n",
      "        [-0.9466,  0.9882],\n",
      "        [-0.3921,  2.2319],\n",
      "        [ 0.7116, -1.2288]]) tensor([ 4.0823,  7.9422,  4.4387, -1.6409,  0.6868,  1.6543,  7.7318, -1.0563,\n",
      "        -4.1689,  9.7967])\n"
     ]
    }
   ],
   "source": [
    "for X, y in dataloader:\n",
    "    print(X, y)\n",
    "    break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.61984"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "1.4040*true_w[0]+( 0.7024*true_w[1])+true_b"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 定义模型\n",
    "\n",
    "在上一节从零开始的实现中，我们需要定义模型参数，并使用它们一步步描述模型是怎样计算的。当模型结构变得更复杂时，这些步骤将变得更繁琐。其实，PyTorch提供了大量预定义的层，这使我们只需关注使用哪些层来构造模型。下面将介绍如何使用PyTorch更简洁地定义线性回归。\n",
    "\n",
    "首先，导入`torch.nn`模块。实际上，“nn”是neural networks（神经网络）的缩写。顾名思义，该模块定义了大量神经网络的层。之前我们已经用过了`autograd`，而`nn`就是利用`autograd`来定义模型。`nn`的核心数据结构是`Module`，它是一个抽象概念，既可以表示神经网络中的某个层（layer），也可以表示一个包含很多层的神经网络。在实际使用中，最常见的做法是继承`nn.Module`，撰写自己的网络/层。一个`nn.Module`实例应该包含一些层以及返回输出的前向传播（forward）方法。下面先来看看如何用`nn.Module`实现一个线性回归模型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Linear(\n",
      "  (lin): Linear(in_features=2, out_features=1, bias=True)\n",
      ")\n"
     ]
    }
   ],
   "source": [
    "from torch.nn import functional\n",
    "import torch.nn as nn\n",
    "\n",
    "class Linear(nn.Module):\n",
    "    def __init__(self, input_size, output_size = 1):\n",
    "        super(Linear, self).__init__()\n",
    "        self.lin = nn.Linear(input_size,  output_size)\n",
    "    def forward(slef, x):\n",
    "        y = self.lin(x)\n",
    "        return y\n",
    "net = Linear(num_inputs)\n",
    "print(net)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "事实上我们还可以用`nn.Sequential`来更加方便地搭建网络，`Sequential`是一个有序的容器，网络层将按照在传入`Sequential`的顺序依次被添加到计算图中。\n",
    "\n",
    "```python\n",
    "# 写法一\n",
    "net = nn.Sequential(\n",
    "    nn.Linear(num_inputs, 1)\n",
    "    # 此处还可以传入其他层\n",
    "    )\n",
    "\n",
    "# 写法二\n",
    "net = nn.Sequential()\n",
    "net.add_module('linear', nn.Linear(num_inputs, 1))\n",
    "# net.add_module ......\n",
    "\n",
    "# 写法三\n",
    "from collections import OrderedDict\n",
    "net = nn.Sequential(OrderedDict([\n",
    "          ('linear', nn.Linear(num_inputs, 1))\n",
    "          # ......\n",
    "        ]))\n",
    "\n",
    "print(net)\n",
    "print(net[0])\n",
    "```\n",
    "\n",
    "输出："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sequential(\n",
      "  (linear): Linear(in_features=2, out_features=1, bias=True)\n",
      ")\n",
      "Linear(in_features=2, out_features=1, bias=True)\n"
     ]
    }
   ],
   "source": [
    "# 写法一\n",
    "net = nn.Sequential(\n",
    "    nn.Linear(num_inputs, 1)\n",
    "    # 此处还可以传入其他层\n",
    "    )\n",
    "\n",
    "# 写法二\n",
    "net = nn.Sequential()\n",
    "net.add_module('linear', nn.Linear(num_inputs, 1))\n",
    "# net.add_module ......\n",
    "\n",
    "# 写法三\n",
    "from collections import OrderedDict\n",
    "net = nn.Sequential(OrderedDict([\n",
    "          ('linear', nn.Linear(num_inputs, 1))\n",
    "          # ......\n",
    "        ]))\n",
    "\n",
    "print(net)\n",
    "print(net[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以通过`net.parameters()`来查看模型所有的可学习参数，此函数将返回一个生成器。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Parameter containing:\n",
      "tensor([[ 0.6736, -0.1449]], requires_grad=True)\n",
      "Parameter containing:\n",
      "tensor([-0.1641], requires_grad=True)\n"
     ]
    }
   ],
   "source": [
    "for param in net.parameters():\n",
    "    print(param)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "回顾图3.1中线性回归在神经网络图中的表示。作为一个单层神经网络，线性回归输出层中的神经元和输入层中各个输入完全连接。因此，线性回归的输出层又叫全连接层。\n",
    "\n",
    "> 注意：`torch.nn`仅支持输入一个batch的样本不支持单个样本输入，如果只有单个样本，可使用`input.unsqueeze(0)`来添加一维。\n",
    "\n",
    "> 比如test 一张图片，可能就要用这个 `unsqueeze`\n",
    "\n",
    "\n",
    "## 初始化模型参数\n",
    "\n",
    "在使用`net`前，我们需要初始化模型参数，如线性回归模型中的权重和偏差。PyTorch在`init`模块中提供了多种参数初始化方法。这里的`init`是`initializer`的缩写形式。我们通过`init.normal_`将权重参数每个元素初始化为随机采样于均值为0、标准差为0.01的正态分布。偏差会初始化为零。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Parameter containing:\n",
      "tensor([[0.2630, 0.0386]], requires_grad=True)\n",
      "Parameter containing:\n",
      "tensor([0.2091], requires_grad=True)\n",
      "('lin.weight', Parameter containing:\n",
      "tensor([[0.2630, 0.0386]], requires_grad=True))\n",
      "('lin.bias', Parameter containing:\n",
      "tensor([0.2091], requires_grad=True))\n",
      "Linear(\n",
      "  (lin): Linear(in_features=2, out_features=1, bias=True)\n",
      ")\n",
      "('lin.weight', Parameter containing:\n",
      "tensor([[ 0.0035, -0.0143]], requires_grad=True))\n",
      "('lin.bias', Parameter containing:\n",
      "tensor([0.], requires_grad=True))\n",
      "Linear(\n",
      "  (lin): Linear(in_features=2, out_features=1, bias=True)\n",
      ")\n"
     ]
    }
   ],
   "source": [
    "from torch.nn import init\n",
    "import torch.nn as nn\n",
    "class Linear(nn.Module):\n",
    "    def __init__(self, input_size, output_size = 1):\n",
    "        super(Linear, self).__init__()\n",
    "        self.lin = nn.Linear(input_size,  output_size)\n",
    "    def forward(self, x):\n",
    "        y = self.lin(x)\n",
    "        return y\n",
    "Linear_net = Linear(num_inputs)\n",
    "for param in Linear_net.parameters():\n",
    "    print(param)\n",
    "for named_param in Linear_net.named_parameters():\n",
    "    print(named_param)\n",
    "print(Linear_net)\n",
    "\n",
    "init.normal_(Linear_net.lin.weight, mean = 0, std = 0.01)\n",
    "init.constant_(Linear_net.lin.bias, val =  0)\n",
    "\n",
    "for named_param in Linear_net.named_parameters():\n",
    "    print(named_param)\n",
    "print(Linear_net)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 定义损失函数\n",
    "\n",
    "PyTorch在`nn`模块中提供了各种损失函数，这些损失函数可看作是一种特殊的层，PyTorch也将这些损失函数实现为`nn.Module`的子类。我们现在使用它提供的均方误差损失作为模型的损失函数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "loss = nn.MSELoss()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 定义优化算法\n",
    "\n",
    "同样，我们也无须自己实现小批量随机梯度下降算法。`torch.optim`模块提供了很多常用的优化算法比如SGD、Adam和RMSProp等。下面我们创建一个用于优化`net`所有参数的优化器实例，并指定学习率为0.03的小批量随机梯度下降（SGD）为优化算法。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "SGD (\n",
      "Parameter Group 0\n",
      "    dampening: 0\n",
      "    lr: 0.03\n",
      "    momentum: 0\n",
      "    nesterov: False\n",
      "    weight_decay: 0\n",
      ")\n"
     ]
    }
   ],
   "source": [
    "import torch.optim as optim\n",
    "optimizer = optim.SGD(Linear_net.parameters(), lr = 0.03)\n",
    "print(optimizer)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们还可以为不同子网络设置不同的学习率，这在finetune时经常用到。例：\n",
    "\n",
    "```python\n",
    "optimizer =optim.SGD([\n",
    "                # 如果对某个参数不指定学习率，就使用最外层的默认学习率\n",
    "                {'params': net.subnet1.parameters()}, # lr=0.03\n",
    "                {'params': net.subnet2.parameters(), 'lr': 0.01}\n",
    "            ], lr=0.03)\n",
    "```\n",
    "\n",
    "有时候我们不想让学习率固定成一个常数，那如何调整学习率呢？主要有两种做法。一种是修改`optimizer.param_groups`中对应的学习率，另一种是更简单也是较为推荐的做法——新建优化器，由于optimizer十分轻量级，构建开销很小，故而可以构建新的optimizer。但是后者对于使用动量的优化器（如Adam），会丢失动量等状态信息，可能会造成损失函数的收敛出现震荡等情况。\n",
    "\n",
    "```python\n",
    "# 调整学习率\n",
    "for param_group in optimizer.param_groups:\n",
    "    param_group['lr'] *= 0.1 # 学习率为之前的0.1倍\n",
    "```\n",
    "\n",
    "##  训练模型\n",
    "\n",
    "在使用Gluon训练模型时，我们通过调用`optim`实例的`step`函数来迭代模型参数。按照小批量随机梯度下降的定义，我们在`step`函数中指明批量大小，从而对批量中样本梯度求平均。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch 0, loss :0.0002\n",
      "epoch 1, loss :0.0001\n",
      "epoch 2, loss :0.0001\n"
     ]
    }
   ],
   "source": [
    "num_epochs = 3\n",
    "for epoch in range(num_epochs):\n",
    "    i = 0\n",
    "    for data, label in dataloader:  \n",
    "        #注意，模型的参数默认为float 所以注意输入的data 数据也应该为float 而不是double 如果要用double\n",
    "        # net.double()\n",
    "        out = Linear_net(data)\n",
    "    \n",
    "        l = loss(out, label.view(-1,1))\n",
    "        optimizer.zero_grad()\n",
    "        l.backward()\n",
    "        optimizer.step()\n",
    "       \n",
    "    print(\"epoch {}, loss :{:.4f}\".format(epoch, l.item()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面我们分别比较学到的模型参数和真实的模型参数。我们从`net`获得需要的层，并访问其权重（`weight`）和偏差（`bias`）。学到的参数和真实的参数很接近。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Parameter containing:\n",
      "tensor([[ 1.9997, -3.4008]], requires_grad=True) [2, -3.4]\n",
      "Parameter containing:\n",
      "tensor([4.2000], requires_grad=True) 4.2\n"
     ]
    }
   ],
   "source": [
    "print(Linear_net.lin.weight, true_w)\n",
    "print(Linear_net.lin.bias, true_b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
